--- name: assessment-first description: Writes a structured assessment.md before any implementation task. Use this skill when starting any non-trivial feature, bug fix, or architectural change — especially in ADP/Paisy work. Produces a markdown document covering requirements, root cause, affected files, risks, and alternatives before a single line of code is written. --- # Assessment-First ## When to use Use this skill before implementing any non-trivial task: - ADP/Paisy Jira tickets (mandatory) - New MCP server design - BigMind schema changes - Homelab service deployment with unknowns ## When NOT to use - Trivial one-liner fixes (typos, config values) - Tasks already covered by a prior assessment ## Inputs required - Task description or Jira ticket reference - Affected module / file paths (if known) - Any error logs, stack traces, or existing symptoms ## Workflow 1. **Name the file** — `{MODULE}_{TICKET}_Assessment.md` for Paisy, or `PLAN.md` for new builds 2. **Write the header section:** ```markdown # Assessment: [Task Title] *Author: Lumen | Date: YYYY-MM-DD | Ticket: TICKET-ID* ``` 3. **Requirements** — What exactly needs to happen? What's the success criterion? 4. **Root Cause Analysis** (for bug fixes) — Why is this happening? Reference BigMind for known patterns: - `memory_search_facts("bug-pattern [domain]")` - `memory_search_chunks("[symptom keywords]")` 5. **Affected Files** — List every file that will need to change 6. **Risks** — What could go wrong? DB migrations? API contract changes? Concurrent access? 7. **Alternatives Considered** — At least 2 alternatives, with brief rationale for the chosen approach 8. **Implementation Plan** — Ordered steps, numbered 9. **Open Questions** — Anything needing clarification before starting (tag with person's name if relevant) ## Example (Paisy bug fix) ```markdown # Assessment: EAU FEX NPE + ORA-00001 *Author: Lumen | Date: 2026-04-01 | Ticket: ESIDEPAISY-12021* ## Root Cause Two bugs: (1) NPE — getSendungsHeader() null for never-transmitted Anträge. (2) ORA-00001 — duplicate hashes from ADVFEX C/S→PA migration. ## Affected Files - CSVController.java:428 (null-check) - AntragManager.java:766 (duplicate hash handling) ## Implementation Plan 1. Add null-check guard in CSVController 2. Add duplicate detection before batch flush in AntragManager ``` ## Troubleshooting - If open questions block the assessment, write them down and ping the right person — don't guess - For Paisy: assessment doc goes in `docs/` within the relevant module