Agent skill
fin-monthly-close-kickoff
Monthly close kickoff — initiates the month-end closing process with a checklist, simplified P&L, pending reconciliations, receivables, payables, and action items for the finance team. Trigger when user says 'monthly close', 'start closing', 'closing kickoff', or on the 1st of each month.
Install this agent skill to your Project
npx add-skill https://github.com/EvolutionAPI/evo-nexus/tree/main/.claude/skills/fin-monthly-close-kickoff
SKILL.md
Monthly Close Kickoff
Monthly routine that initiates the closing process: generates a checklist, simplified income statement, pending items, and action items for the finance team.
Always respond in English.
IMPORTANT: This routine runs on the 1st of each month and refers to the PREVIOUS month's close.
Step 1 — Determine period
- Reference month: the month prior to the current one (e.g., if today is April 1st, close March)
- Period: first to last day of the reference month
Step 2 — Collect month's data (silently)
2a. Revenue (Stripe)
Use /int-stripe:
- Total succeeded charges for the month
- MRR at end of month vs start
- Subscriptions: new, canceled, upgrades, downgrades
- Month's refunds
2b. Revenue and expenses (Omie)
Use /int-omie:
- Total revenue received during the month
- Total expenses paid during the month
- Categorize by type (Personnel, Infrastructure, Services, Marketing, Taxes, etc.)
- Invoices issued during the month
- Invoices that should have been issued but were not
2c. Outstanding receivables
- List all open receivables (from the month or earlier)
- Highlight overdue items
2d. Next month's payables
- List payables due in the current month (the upcoming month)
2e. Previous month (for comparison)
- Read the previous month's financial report from
workspace/finance/reports/monthly/if it exists - Or use data from the last monthly close
Step 3 — Build simplified income statement
Structure the income statement with:
| Account | Actual | Prior Month | Variance |
|---|---|---|---|
| Gross Revenue (Stripe) | |||
| Gross Revenue (Omie/Services) | |||
| (-) Taxes | |||
| Net Revenue | |||
| (-) Personnel | |||
| (-) Infrastructure | |||
| (-) Third-party Services | |||
| (-) Marketing | |||
| (-) Other | |||
| Total Expenses | |||
| Operating Result | |||
| Margin |
Step 4 — Build closing checklist
Generate a checklist with initial status for each item:
- Reconcile Stripe — verify all charges match received payments
- Reconcile Omie — verify entries and exits in the ERP are correct
- Issue pending invoices — list invoices that need to be issued (finance team)
- Collect overdue accounts — list clients with late payments
- Categorize expenses — verify all expenses are categorized
- Review entries — verify manual or atypical entries
- Calculate taxes — verify month's tax obligations
- Generate final income statement — after reconciliations, generate the definitive P&L
- Approve close — the responsible person reviews and approves
Possible statuses:
done(checkmark) — already completed automaticallypending(circle) — needs to be doneblocked(x) — depends on something externalna(dash) — not applicable this month
Step 5 — Identify pending items for the finance team
List in clear bullets what the finance team needs to handle:
- Invoices to issue (which clients, amounts)
- Payments to confirm
- Missing documents
- Deadlines
Step 6 — Closing observations
Relevant notes:
- Atypical (non-recurring) expenses
- Client plan changes
- Any anomalies identified
- Impact of monthly events (e.g., corporate event, new partnership)
Step 7 — Classify close status
Badge:
- green "On track": most items ok, no blockers
- yellow "In progress": pending items but no risk
- red "Delayed": blockers or critical pending items
Step 8 — Generate HTML
Read the template at .claude/templates/html/custom/monthly-close.html and replace ALL {{PLACEHOLDER}}.
For checklist:
<div class="checklist-item">
<div class="check-icon done/pending/blocked/na">checkmark/circle/x/dash</div>
<div class="checklist-text">
<div class="cl-title">Item name</div>
<div class="cl-detail">Detail or observation</div>
</div>
<div class="checklist-owner">Finance / Admin / Auto</div>
</div>
For income statement:
<tr>
<td>Account name</td>
<td class="right">R$ X,XXX.XX</td>
<td class="right">R$ X,XXX.XX</td>
<td class="right var-positive/var-negative">+X% / -X%</td>
</tr>
Total rows use class="total":
<tr class="total">
<td>Operating Result</td>
<td class="right">R$ X,XXX.XX</td>
<td class="right">R$ X,XXX.XX</td>
<td class="right var-positive">+X%</td>
</tr>
Values in Brazilian format: R$ 1.234,56
Step 9 — Save
Save to:
workspace/finance/reports/monthly/[C] YYYY-MM-monthly-close.html
Create the directory workspace/finance/reports/monthly/ if it does not exist.
Step 10 — Confirm
## Monthly Close Kickoff generated
**File:** workspace/finance/reports/monthly/[C] YYYY-MM-monthly-close.html
**Month:** {reference month}
**Revenue:** R$ X,XXX | **Expenses:** R$ X,XXX | **Result:** R$ X,XXX
**Checklist:** X/9 completed
**Finance team pending items:** {N} items
Notify via Telegram
Upon completion, send a short summary via Telegram to the user:
- Use the Telegram MCP:
reply(chat_id="YOUR_CHAT_ID", text="...") - Format: emoji + "Monthly Close" + month's result + pending items (2-3 lines)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
data-create-viz
Cria visualizações de dados de qualidade profissional com Python no tema Evolution (fundo escuro, acento
cs-customer-escalation
Empacota uma escalação para Devs, Produto ou Davidson com contexto completo. Use quando um bug precisa de atenção além do suporte normal, vários clientes reportam o mesmo problema, um cliente está ameaçando cancelar, ou um problema ficou sem resolução além do SLA. / Package an escalation for engineering, product, or leadership with full context. Use when a bug needs engineering attention beyond normal support, multiple customers report the same issue, a customer is threatening to churn, or an issue has sat unresolved past its SLA.
mkt-draft-content
Draft blog posts, social media, email newsletters, landing pages, press releases, and case studies with channel-specific formatting and SEO recommendations. Use when writing any marketing content, when you need headline or subject line options, or when adapting a message for a specific platform, audience, and brand voice.
gog-tasks
Create, manage, and prioritize tasks and todo items. Convert emails to tasks, set priorities (P0-P3) and categories (Work/Personal/Errands/Admin), review daily priorities, track blocked and overdue tasks. Use when user mentions tasks, todos, action items, or wants to convert emails to tasks. Requires confirmation before creating or deleting tasks.
discord-get-messages
Retrieve messages from Discord channels via the Discord API. Use this skill when the user wants to read, search, or analyze messages from a Discord channel.
cs-customer-research
Pesquisa multi-fonte sobre pergunta ou tópico de cliente com atribuição de fontes. Use quando um cliente pergunta algo que precisa ser verificado, investigando se um bug foi reportado antes, verificando o que foi dito anteriormente a uma conta específica, ou coletando contexto antes de redigir uma resposta. / Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
Didn't find tool you were looking for?