monthly-pnllisted
Install: claude install-skill Paldom/databricks-skill-to-app
# Monthly P&L
Produces the Monthly P&L as one self-contained HTML page from the pinned
`monthly-pnl` contract (v1.0.0, owned by finance-analytics@example.com). The SQL is not written here — it is
materialized from the contract under `contract/` and hash-pinned in `contract.manifest.json`, so
this skill and any app built from the same contract run the identical queries.
## When to use
- The user asks for the Monthly P&L, or for this period's numbers from it.
- The user wants the report refreshed, re-run, or exported for a different period.
## When NOT to use
- **Changing what the report measures** — edit the canonical contract and re-generate this skill.
Editing `contract/` here breaks the hash manifest and the runner refuses to start.
- **A different report** → that report's own skill.
- **An interactive app** → the contract's AppKit app.
- **Ad-hoc data questions** → `databricks-data-discovery`.
## Workflow
1. **Pick the profile.** Never auto-select one; ask if it is not already established.
2. **Run the contract.** Parameters default to the contract's values; override only what the user
asked for.
```bash
python3 "${CLAUDE_SKILL_DIR}/scripts/run_report.py" \
--contract "${CLAUDE_SKILL_DIR}/contract" \
--profile <PROFILE> --warehouse <WAREHOUSE_ID> \
--param start_date=2025-09-01 \
--param end_date=2026-08-01 \
--param row_limit=10 \
--out /tmp/monthly-pnl.json
```
A non-zero exit means at least one block failed. Read