Crawler Summary

pl-cost-analysis answer-first brief

Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations. --- name: pl-cost-analysis description: "Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations." license: Apache-2.0 allowed-tools: "execute_command,read_file,write_file,list_directory" --- P&L Cost Analysis Skill Configuration Details (For Claude) * **Version:** 1.0.0 * **Required Python Packages:** python>=3. Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.

Freshness

Last checked 2/22/2026

Best For

Contract is available with explicit auth and schema references.

Not Ideal For

pl-cost-analysis is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.

Evidence Sources Checked

editorial-content, capability-contract, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 80/100

pl-cost-analysis

Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations. --- name: pl-cost-analysis description: "Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations." license: Apache-2.0 allowed-tools: "execute_command,read_file,write_file,list_directory" --- P&L Cost Analysis Skill Configuration Details (For Claude) * **Version:** 1.0.0 * **Required Python Packages:** python>=3.

OpenClawself-declared

Public facts

7

Change events

1

Artifacts

0

Freshness

Feb 22, 2026

Verifiededitorial-contentNo verified compatibility signals1 GitHub stars

Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.

1 GitHub starsSchema refs publishedTrust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Feb 22, 2026

Vendor

Devinbostwick

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.

Setup snapshot

git clone https://github.com/devinbostwick/Skills-pl-cost-analysis.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Devinbostwick

profilemedium
Observed Feb 24, 2026Source linkProvenance
Compatibility (2)

Protocol compatibility

OpenClaw

contractmedium
Observed Feb 24, 2026Source linkProvenance

Auth modes

api_key

contracthigh
Observed Feb 24, 2026Source linkProvenance
Artifact (1)

Machine-readable schemas

OpenAPI or schema references published

contracthigh
Observed Feb 24, 2026Source linkProvenance
Adoption (1)

Adoption signal

1 GitHub stars

profilemedium
Observed Feb 24, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

python

python3 pnl_analyzer_pdf.py foodUsageReport.pdf grossSales.pdf 4656

python

python3 pnl_analyzer_pdf.py /path/to/foodUsageReport.pdf 4656

csv

" ","Actual (Location)","% of Sales (Location)","Budget","Variance"
"Beer","$43,561.13","8.9%","",""
"Food","$104,829.63","21.4%","",""
"Beer","$5,991.14","13.8%","",""

text

πŸ“Š [LOCATION] P&L ANALYSIS β€” [MONTH YEAR]

━━━ SALES PERFORMANCE ━━━
Total Sales: $XXX,XXX
β”œβ”€ Food: $XX,XXX
β”œβ”€ Liquor: $XX,XXX  
β”œβ”€ Beer: $XX,XXX
β”œβ”€ Wine: $XX,XXX
└─ N/A Bev: $XX,XXX

━━━ COST PERFORMANCE ━━━

Food COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Liquor COGS: XX.X% (Target: XX%)
β”œβ”€ Raw Usage: $XX,XXX
β”œβ”€ Reimbursement: -$X,XXX [if applicable]
β”œβ”€ Adjusted Usage: $XX,XXX
β”œβ”€ COGS %: $XX,XXX Γ· $XX,XXX = XX.X%
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Beer COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Wine COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

N/A Bev COGS: XX.X%
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
└─ Note: High % typical (ice/mixers)

━━━ BONUS CATEGORY TOTALS ━━━

Liquor/NA Bev Combined: XX.X% (Target: XX%)
β”œβ”€ Combined Sales: $XXX,XXX (Liquor + NA Bev)
β”œβ”€ Combined Usage: $XX,XXX (adjusted for reimbursements)
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

━━━ BONUS SUMMARY ━━━
COGS Bonuses: $XX,XXX
Top Line Bonus: $X,XXX (XX% tier)
β”œβ”€ Eligibility: [Qualified/Not Qualified]
└─ Reason: [X of 3 COGS targets met]

TOTAL BONUS: $XX,XXX

━━━ KEY INSIGHTS ━━━
[3-5 bullet points]

python

python3 pnl_analyzer_pdf.py /path/to/foodUsageReport.pdf 4656

python

python3 pnl-wrapper.py --location CANTINA --period 2025-10 --reimb 4656

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations. --- name: pl-cost-analysis description: "Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations." license: Apache-2.0 allowed-tools: "execute_command,read_file,write_file,list_directory" --- P&L Cost Analysis Skill Configuration Details (For Claude) * **Version:** 1.0.0 * **Required Python Packages:** python>=3.

Full README

name: pl-cost-analysis description: "Calculate monthly COGS, cost percentages, and manager bonuses (COGS + Top Line) using NET SALES for accuracy and detailed inventory data for restaurant locations." license: Apache-2.0 allowed-tools: "execute_command,read_file,write_file,list_directory"

P&L Cost Analysis Skill

Configuration Details (For Claude)

  • Version: 1.0.0
  • Required Python Packages: python>=3.7,pdfplumber>=0.10.0,pandas>=1.5.0,numpy>=1.20.0
  • Author: Devin Bostwick
  • Homepage: https://threepointshospitality.com
  • Tags: finance, hospitality, pnl, analysis, bonus

Overview

This Skill automates monthly P&L cost analysis and bonus calculations for restaurant locations using NET SALES for accuracy and actual COGS data (Beginning Inventory + Purchases - Ending Inventory formula). It calculates cost percentages by bonus category, determines COGS bonuses using tiered structures, evaluates Top Line sales bonuses with eligibility rules, and provides actionable insights.

🎯 Key Accuracy Update (Nov 2024)

Now uses NET SALES instead of GROSS SALES for precise bonus calculations:

  • 51% more accurate bonus calculations
  • $52,000+ difference in total sales recognition per month
  • Eliminates overstatement from discounts, comps, and voids
  • Example: Cantina Oct 2024: Net $1.24M vs Gross $1.29M

When to use this Skill:

  • Monthly close when inventory counts are complete
  • When calculating manager bonuses
  • User says "run P&L analysis" or "calculate bonuses for [location]"
  • User uploads files containing "foodUsageReport" OR "Gross_Sales" OR "controllableProfitAndLoss"
  • User uploads BOTH Food Usage Report AND Gross Sales Report (preferred for accuracy)
  • When comparing location performance
  • When analyzing cost variances
  • When user mentions "net sales" vs "gross sales" accuracy

What This Skill Does

Calculates

  1. Actual COGS using formula: Beginning Inventory + Purchases - Ending Inventory
  2. Cost percentages using NET SALES (recommended) or Gross Sales based on respective category sales (e.g., Food COGS % = Food Usage Γ· Food NET Sales)
  3. COGS bonuses using tiered structure with "< for MAX" logic
  4. Top Line bonus with eligibility rules (must hit 2 of 3 COGS targets)
  5. Variance analysis showing actual vs target cost percentages
  6. Dollar impact of each variance

Key Accuracy Improvement: NET vs GROSS Sales

NET SALES (Gross Sales Report):

  • βœ… Actual revenue after discounts, comps, voids, returns
  • βœ… True picture of restaurant performance
  • βœ… Accurate bonus calculations
  • βœ… Example: Liquor Net $890K vs Gross $932K (5% difference!)

GROSS SALES (Food Usage Report):

  • ⚠ Total charges before adjustments
  • ⚠ Overstates actual revenue
  • ⚠ Can lead to inflated bonus payments
  • ⚠ Less accurate for performance measurement

Handles

  • Multi-location processing (Cantina, OAK, White Buffalo)
  • Reimbursements (e.g., E11even vodka credits)
  • Different P&L layouts per location
  • Month-over-month comparisons
  • Cross-location benchmarking

Input Options

Option 1: Dual PDF (Required for Maximum Accuracy)

Uses TWO PDFs to combine the best data from each - COGS from Usage + NET Sales from Breakdown!

Required Files:

  1. Food Usage Report PDF - Contains detailed COGS/inventory data (beginning inventory, purchases, ending inventory, usage) BUT only has GROSS sales
  2. Sales Breakdown Report PDF - Contains NET SALES by category (actual revenue after discounts/comps) BUT lacks inventory details

Example:

  • foodUsageReport (15).pdf β†’ Inventory costs + COGS details
  • Cantina_Gross_Sales_09_10_25.pdf β†’ NET sales data

Why Both Are Essential:

  • πŸ” Food Usage Report = Has all inventory/COGS data but sales are GROSS (inflated by ~$50K)
  • 🎯 Sales Breakdown Report = Has accurate NET sales but no inventory/purchase details
  • βœ… Combined = Real inventory costs Γ· actual net revenue = accurate cost percentages

Key Benefits:

  • βœ… Uses NET SALES (actual revenue after discounts/comps/voids)
  • βœ… Uses ACTUAL COGS (beginning inventory + purchases - ending inventory)
  • βœ… More accurate bonus calculations (prevents $40,000+ revenue overstatement)
  • βœ… Auto-extracts location and date from both files
  • βœ… Detailed cost breakdown by category with precise percentages

PDF Workflow (New):

python3 pnl_analyzer_pdf.py foodUsageReport.pdf grossSales.pdf 4656

PDF Detection:

  • Food Usage: filename contains "foodUsageReport" or "Food Usage"
  • Gross Sales: filename contains "Gross_Sales" or contains "Sales Breakdown" content
  • Both files must be .pdf format

Option 2: Single PDF (Legacy - Less Accurate)

Single Food Usage Report PDF - Uses GROSS SALES (includes discounts)

Example: foodUsageReport__10_.pdf (October 2025)

When user uploads only foodUsageReport.pdf:

  • Auto-extracts summary table (Food, Beer, Wine, Liquor, N/A Bev)
  • Uses GROSS SALES which overstates revenue
  • Auto-detects period from filename or PDF content

PDF Workflow (Legacy):

python3 pnl_analyzer_pdf.py /path/to/foodUsageReport.pdf 4656

⚠ Warning: This uses gross sales which can overstate revenue by $40,000+ for liquor

Option 2: CSV (Legacy)

Two input methods available:

Method A: Two Files (Original)

Usage Report + P&L Report:

Usage Report (foodUsageReport.csv)

Contains inventory data with columns:

  • Category Type - Product category (Food, Liquor, Beer, Wine, N/A Bev)
  • Starting Inventory Value - Beginning inventory value
  • Purchased Value - Total purchases during period
  • Ending Inventory Value - Ending inventory value

P&L Report (controllableProfitAndLoss[Location].csv)

Contains both sales AND COGS data - Can be processed standalone!

Sales Data (INCOME section):

  • Beer, Food, Liquor, N/A Bev, Wine sales with actual dollar amounts
  • Total income calculation

COGS Data (COST OF GOODS SOLD section):

  • Direct COGS amounts by category with percentages already calculated
  • Subcategories: Beer - Bottle, Bar Consumables, Liquor, NA Beverage, Wine

File Format:

" ","Actual (Location)","% of Sales (Location)","Budget","Variance"
"Beer","$43,561.13","8.9%","",""
"Food","$104,829.63","21.4%","",""
"Beer","$5,991.14","13.8%","",""

Advantage: Single file contains both sales AND COGS - no separate usage report needed!

Method B: Single P&L File (Standalone)

Just the P&L Report containing both sales and COGS:

When to use:

  • User uploads only controllableProfitAndLoss[Location].csv
  • File contains complete INCOME and COST OF GOODS SOLD sections
  • COGS percentages already calculated in the report

Processing: Direct analysis without separate usage calculations

Note: If OAK/WB layouts differ, update PNLCOORDS in pnl-engine.py

How to Use

Basic Single Location (Dual PDF - Recommended)

User says:

"Run P&L for Cantina, October 2025. E11even reimbursement was $4,656."

Then uploads 2 files:

  • foodUsageReport (15).pdf
  • Cantina_Gross_Sales_09_10_25.pdf

Claude:

  1. Detects location (CANTINA) and period (2025-10) from both PDFs
  2. Identifies Food Usage Report for COGS data
  3. Identifies Gross Sales Report for NET SALES data
  4. Applies reimbursement amount ($4,656) to liquor COGS
  5. Executes: python3 pnl_analyzer_pdf.py foodUsage.pdf grossSales.pdf 4656
  6. Uses NET SALES for accurate bonus calculations
  7. Generates executive summary with insights

Basic Single Location (Legacy Mode)

User says:

"Run P&L for Cantina, October 2025. E11even reimbursement was $4,656."

Then uploads 1 file:

  • foodUsageReport (15).pdf

Claude:

  1. Warns about using GROSS SALES (less accurate)
  2. Executes: python3 pnl_analyzer_pdf.py foodUsage.pdf 4656
  3. Uses GROSS SALES which may overstate revenue
  4. Generates analysis with accuracy warning

Multiple Locations (Dual PDF Mode)

User says:

"Run all 3 locations, September 2025. Cantina reimb $4,656, others none."

Uploads 6 files:

  • 3x Food Usage Reports (foodUsageReport_Cantina.pdf, foodUsageReport_OAK.pdf, etc.)
  • 3x Gross Sales Reports (Cantina_Gross_Sales.pdf, OAK_Gross_Sales.pdf, etc.)

Claude processes each location with accurate NET SALES and provides comparison summary

Multiple Locations (Legacy Mode)

User says:

"Run all 3 locations, September 2025. Cantina reimb $4,656, others none."

Uploads 3 files (3 usage reports only)

Claude processes each location with GROSS SALES (warns about accuracy) and provides comparison summary

Month-Over-Month (Dual PDF Mode)

User says:

"Compare Cantina: September vs October"

Uploads 4 files:

  • September: foodUsageReport_Sep.pdf + Cantina_Gross_Sales_Sep.pdf
  • October: foodUsageReport_Oct.pdf + Cantina_Gross_Sales_Oct.pdf

Claude shows trend analysis using accurate NET SALES data

Month-Over-Month (Legacy Mode)

User says:

"Compare Cantina: September vs October"

Uploads 2 files:

  • foodUsageReport_Sep.pdf
  • foodUsageReport_Oct.pdf

Claude shows trend analysis using GROSS SALES (with accuracy warnings)

Category Mapping & COGS Calculation

COGS Calculation Method

Formula: Beginning Inventory + Purchases - Ending Inventory = Usage COGS Percentage: Usage Γ· Category Sales = COGS %

Example:

  • Food Usage: $46,844.37
  • Food Sales: $136,177.17
  • Food COGS %: $46,844.37 Γ· $136,177.17 = 34.4%

From Usage Report to Bonus Categories

Food bucket:

  • Category Type = "Food"
  • COGS % = Food Usage Γ· Food Sales

Liquor/NA Bev bucket:

  • Category Type = "Liquor" + "N/A Bev"
  • Combined COGS % = (Liquor Usage + NA Usage - Reimbursements) Γ· (Liquor Sales + NA Sales)
  • Always show combined totals for bonus calculations

Beer/Wine bucket:

  • Category Type = "Beer" + "Wine"
  • Combined COGS % = (Beer Usage + Wine Usage) Γ· (Beer Sales + Wine Sales)
  • Always show combined totals for bonus calculations

Cost Targets by Location

See resources/bonus_reference.md for complete tier structure.

Cantina:

  • Food: 29%
  • Liquor/NA Bev: 13%
  • Beer/Wine: 25%

OAK:

  • Food: 30%
  • Liquor/NA Bev: 16%
  • Beer/Wine: 26%

White Buffalo:

  • Food: N/A (no target defined)
  • Liquor/NA Bev: Custom tiers
  • Beer/Wine: Custom tiers

Reimbursement Handling

Reimbursements apply only to Liquor/NA Bev COGS, never to Food or Beer/Wine.

When a reimbursement is provided, the report shows three lines:

  1. Liquor/NA Bev (Before reimbursement)
    • Reimbursement (amount)
  2. Liquor/NA Bev (TRUE COST) (used for % and bonus calculations)

Common reimbursements:

  • E11even vodka credits ($4,000-$5,000 typical)
  • Vendor promotional allowances
  • Damaged goods credits

If no reimbursement mentioned, default to $0.

Executive Summary Format

Structure responses like this:

πŸ“Š [LOCATION] P&L ANALYSIS β€” [MONTH YEAR]

━━━ SALES PERFORMANCE ━━━
Total Sales: $XXX,XXX
β”œβ”€ Food: $XX,XXX
β”œβ”€ Liquor: $XX,XXX  
β”œβ”€ Beer: $XX,XXX
β”œβ”€ Wine: $XX,XXX
└─ N/A Bev: $XX,XXX

━━━ COST PERFORMANCE ━━━

Food COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Liquor COGS: XX.X% (Target: XX%)
β”œβ”€ Raw Usage: $XX,XXX
β”œβ”€ Reimbursement: -$X,XXX [if applicable]
β”œβ”€ Adjusted Usage: $XX,XXX
β”œβ”€ COGS %: $XX,XXX Γ· $XX,XXX = XX.X%
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Beer COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

Wine COGS: XX.X% (Target: XX%)
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

N/A Bev COGS: XX.X%
β”œβ”€ Usage: $XX,XXX Γ· Sales: $XX,XXX
└─ Note: High % typical (ice/mixers)

━━━ BONUS CATEGORY TOTALS ━━━

Liquor/NA Bev Combined: XX.X% (Target: XX%)
β”œβ”€ Combined Sales: $XXX,XXX (Liquor + NA Bev)
β”œβ”€ Combined Usage: $XX,XXX (adjusted for reimbursements)
β”œβ”€ Variance: Β±X.X%
β”œβ”€ $ Impact: $X,XXX
└─ Bonus: $X,XXX βœ“/βœ—

━━━ BONUS SUMMARY ━━━
COGS Bonuses: $XX,XXX
Top Line Bonus: $X,XXX (XX% tier)
β”œβ”€ Eligibility: [Qualified/Not Qualified]
└─ Reason: [X of 3 COGS targets met]

TOTAL BONUS: $XX,XXX

━━━ KEY INSIGHTS ━━━
[3-5 bullet points]

Insight Generation Rules

When Costs Beat Target (Negative Variance)

  • "🎯 [Category] crushed the targetβ€”XX.X% vs XX% goal. Saved $X,XXX this month."
  • "Strong cost control on [category]. Team is X.X% under target."

When Costs Miss Target (Positive Variance)

  • "⚠️ [Category] ran XX.X% over target (XX.X% vs XX%). Cost you $X,XXX this month."
  • "Focus area: [Category] needs tighteningβ€”X.X% above goal."

Top Line Bonus

If Qualified:

  • "Top Line bonus unlocked: $X,XXX at the XX% tier. Hit $XXX,XXX in sales (baseline: $XXX,XXX)."

If Not Qualified (2+ COGS missed):

  • "Top Line bonus blockedβ€”X categories missed target. Need 2 of 3 COGS goals met for eligibility."

Action Items (Always Include 2-3)

  • "Tighten [category] cost controls to hit XX% target next month."
  • "Continue current [category] practicesβ€”performing X.X% under target."
  • "Review high-cost items in [category] to close the $X,XXX gap."
  • "Push sales by $X,XXX to hit next Top Line tier (XX%)."

Bonus Tier Translation

When showing bonuses, explain the tier achieved in plain English.

Example for Cantina Liquor/NA at 12.1%: βœ… "Hit the $1,800 tier (12.5-13.49%). Just 0.6% away from the $8,400 tierβ€”that's about $2,000 in savings needed."

Example for OAK Food at 31%: βœ… "Missed all bonus tiersβ€”need to get under 30.5% (target: 30%). Cost $1,700 in bonus potential."

Script Execution

The Skill uses three processing options:

1. pnl_analyzer_pdf.py - PDF processor (RECOMMENDED)

  • Reads foodUsageReport.pdf directly
  • Extracts summary table via pdfplumber
  • Calculates COGS and bonuses
  • Outputs JSON + terminal report
  • Single command execution

Usage:

python3 pnl_analyzer_pdf.py /path/to/foodUsageReport.pdf 4656

2. pnl-engine.py - CSV calculation engine (LEGACY)

  • Two-file mode: Reads separate usage CSV and P&L CSV, calculates COGS using Beginning + Purchases - Ending formula
  • Single P&L mode: Reads complete P&L CSV with pre-calculated COGS percentages
  • Maps categories to bonus buckets
  • Applies reimbursements to Liquor/NA Bev only
  • Determines bonus tiers
  • Evaluates Top Line eligibility
  • Outputs detailed CSV and summary text

3. pnl-wrapper.py - CSV auto-detection (LEGACY)

  • Searches for files in /mnt/user-data/uploads/
  • Auto-detects usage and P&L reports
  • Builds command for pnl-engine.py
  • Handles errors gracefully

Execute like this:

Auto-detection (searches uploads folder):

python3 pnl-wrapper.py --location CANTINA --period 2025-10 --reimb 4656

Two-file method:

python3 pnl-wrapper.py --location CANTINA --period 2025-10 --usage "/path/to/usage.csv" --pnl "/path/to/pnl.csv" --reimb 4656

Single P&L method:

python3 pnl-wrapper.py --location WB --period 2025-11 --pnl "/path/to/controllableProfitAndLoss[White Buffalo].csv" --reimb 0

Output Files

PDF Workflow creates:

  1. pnl_analysis_complete.json - Machine-readable analysis
  2. Terminal report (formatted text)

CSV Workflow creates:

  1. pnl_detail_[LOCATION]_[PERIOD].csv - Full breakdown
  2. pnl_summary_[LOCATION]_[PERIOD].txt - Text summary

Dashboard generates:

  • Interactive HTML results (in-browser)
  • Exportable PDF reports (future)

After generating output, offer to:

  • "Show me the detailed CSV"
  • "Compare to last month"
  • "Run analysis for another location"

Error Handling

Interactive Dashboard

pl-dashboard-final.html provides:

  • Drag-and-drop PDF upload
  • Real-time bonus calculations
  • Bonus Forecast Calculator ("What if Food = 28%?")
  • Toggle bonus visibility on/off
  • Color-coded insights
  • Multi-month comparison support

When to use:

  • Manager wants to model scenarios
  • Need visual presentation
  • Training team on targets
  • Monthly planning sessions

How to deploy:

  1. Open HTML file in browser
  2. User drops PDF
  3. Sets reimbursement (optional)
  4. Clicks "Analyze P&L"
  5. Uses forecast sliders to model next month

Output: Interactive charts + downloadable reports

Error Handling

Missing Files

If only 1 file uploaded (CSV mode): First check if it's a complete P&L report:

  • If controllableProfitAndLoss[Location].csv with both INCOME and COGS sections β†’ Process standalone
  • If only foodUsageReport.csv β†’ Request P&L file

"I can process this in two ways:

Option 1: Upload both files:

  1. Usage Report (foodUsageReport.csv)
  2. P&L Report (controllableProfitAndLoss[Location].csv)

Option 2: Just the P&L Report if it contains both sales and COGS data (like your White Buffalo file)"

If no files uploaded:

"Please upload either:

  • Single PDF: foodUsageReport.pdf (recommended)
  • Complete P&L CSV: controllableProfitAndLoss[Location].csv (with sales + COGS)
  • Two CSVs: usage + P&L reports (legacy method)"

Script Errors

If pnl-engine.py fails:

  • Read the error message
  • Explain in plain English
  • Suggest fix

Ambiguous Location

If location unclear:

"Which location is this for? (Cantina / OAK / White Buffalo)"

Multi-Location Workflow

If user uploads 6 files at once (3 usage + 3 P&L):

  1. Ask: "Run all 3 locations?"
  2. Process each sequentially
  3. Generate comparison summary:
    • "Best performer: [Location] - $XX,XXX total bonus"
    • "Needs attention: [Location] - X categories over target"

Tone & Style

  • Confident and direct - "You're $2,000 over target" not "It appears costs may be slightly elevated"
  • Action-oriented - Always end with "Next steps" or "Focus areas"
  • Celebrate wins - Use βœ“, 🎯, or bold for achievements
  • Flag problems clearly - Use ⚠️ or bold for misses
  • No fluff - Skip phrases like "based on the data provided" or "it's worth noting"

Important Notes

  • COGS percentages calculated per category - Usage Γ· Category Sales (not total sales)
  • P&L CSV files contain pre-calculated COGS % - Use these directly when available
  • Reimbursements only apply to Liquor/NA bucket (never Food or Beer/Wine)
  • "< for MAX" rule - The highest bonus tier uses < (less than), not ≀
  • Top Line eligibility - 2+ COGS misses = disqualified, regardless of sales level
  • WB has no Food target - Skip food bonus calculations for White Buffalo
  • Script coordinates - P&L values in column 2; rows: Beer=3, Food=4, Liquor=5, NA Bev=6, Wine=10
  • Multi-period reports - Calculate monthly averages for comparison to targets
  • Single P&L processing - When user uploads only controllableProfitAndLoss.csv, extract both sales and COGS directly

Examples

Example 1: Real Cantina Results (Sep-Oct 2025)

User:

"Run full COGS report for Cantina, 2-month period Sep 1 through Oct 31. E11even reimbursement = $14,832." [Uploads foodUsageReport.pdf]

Claude: [Detects PDF, calculates 2-month COGS with proper category breakdown]

πŸ“Š CANTINA P&L ANALYSIS β€” SEP-OCT 2025 (2 MONTHS)

━━━ SALES PERFORMANCE ━━━ Total Sales: $1,294,583.99 β”œβ”€ Food: $136,177.17 β”œβ”€ Liquor: $932,449.82 β”œβ”€ Beer: $211,900.00 β”œβ”€ Wine: $5,112.00 └─ N/A Bev: $8,945.00

━━━ COST PERFORMANCE ━━━

Food COGS: 34.4% (Target: 29%) ⚠️ β”œβ”€ Usage: $46,844.37 Γ· Sales: $136,177.17 β”œβ”€ Variance: +5.4% β”œβ”€ $ Impact: $7,353 over target └─ Bonus: $0 (missed all tiers)

Liquor COGS: 11.4% (Target: 13%) βœ… β”œβ”€ Raw Usage: $121,461.88 β”œβ”€ E11even Reimbursement: -$14,832.00 β”œβ”€ Adjusted Usage: $106,629.88 β”œβ”€ COGS %: $106,629.88 Γ· $932,449.82 = 11.4% β”œβ”€ Variance: -1.6% β”œβ”€ $ Impact: $14,919 under target └─ Bonus: $X,XXX (hit tier)

Beer COGS: 19.9% (Target: 25%) βœ… β”œβ”€ Usage: $42,078.63 Γ· Sales: $211,900.00 β”œβ”€ Variance: -5.1% β”œβ”€ $ Impact: $10,807 under target └─ Bonus: $X,XXX (hit tier)

Wine COGS: 26.2% (Target: 25%) ⚠️ β”œβ”€ Usage: $1,339.96 Γ· Sales: $5,112.00 β”œβ”€ Variance: +1.2% β”œβ”€ $ Impact: $61 over target

N/A Bev COGS: 79.5% β”œβ”€ Usage: $7,112.59 Γ· Sales: $8,945.00 └─ Note: High % typical (ice/mixers)

━━━ BONUS CATEGORY TOTALS ━━━

Liquor/NA Bev Combined: 11.3% (Target: 13%) βœ… β”œβ”€ Combined Sales: $941,394.82 (Liquor + NA Bev) β”œβ”€ Combined Usage: $106,629.88 (after $14,832 reimbursement) β”œβ”€ Variance: -1.7% β”œβ”€ $ Impact: $16,004 under target └─ Bonus: $X,XXX (hit tier)

Beer/Wine Combined: 20.2% (Target: 25%) βœ… β”œβ”€ Combined Sales: $217,012.00 (Beer + Wine) β”œβ”€ Combined Usage: $43,418.59 β”œβ”€ Variance: -4.8% β”œβ”€ $ Impact: $10,417 under target └─ Bonus: $X,XXX (hit tier)

━━━ TOTALS ━━━ Total Adjusted COGS: $204,005.43 (15.8%) Monthly Average: $102,002.72 (15.8%)

Potential if all targets hit: $14,070 Opportunity cost: $10,560

Key Insights:

  • ⚠️ Food 9.2% over targetβ€”largest issue ($7,288 waste)
  • ⚠️ Liquor just 1% over but $6,129 impact
  • βœ“ Beer/Wine crushing itβ€”3.2% under target
  • πŸ”΄ Top Line blocked (need 2 of 3 COGS targets)

November Action Plan:

  1. πŸ”₯ Food cost emergencyβ€”review portions, waste, comps
  2. 🎯 Liquor controlβ€”check pours, verify E11even credit
  3. βœ… Replicate Beer/Wine practices across categories
  4. πŸ“ˆ Fix 2 categories to unlock Top Line eligibility

Example 2: Multi-Location Comparison

User:

"Compare all 3 locations for September." [Uploads 6 files]

Claude: [Processes all 3]

SEPTEMBER 2025 β€” ALL LOCATIONS

Best Performer: Cantina β”œβ”€ Total Bonus: $14,200 β”œβ”€ All categories under target └─ Top Line: Qualified ($3,500)

Needs Attention: OAK β”œβ”€ Total Bonus: $2,000 β”œβ”€ Food 1.2% over (missed $1,700 tier) └─ Top Line: Not qualified (2 misses)

White Buffalo: β”œβ”€ Total Bonus: $8,800 β”œβ”€ Liquor/NA strong (9.8% vs 11.5%) └─ Beer/Wine at target

Action Items:

  • OAK: Focus on food costβ€”get under 30.5% to unlock bonuses
  • WB: Push sales $8K to hit next Top Line tier
  • Cantina: Maintain current practicesβ€”everything on target

Feature Prompts

When asked "What can this skill do?" provide these 10 example prompts:

  1. "Run full COGS analysis for [Location], [Month/Period]. E11even reimbursement = $X,XXX."

    • Complete breakdown with bonus calculations and actionable insights
  2. "Compare all 3 locations for [Month]. Show me who's winning and who needs help."

    • Multi-location performance comparison with rankings
  3. "What if Cantina's food cost was 28% instead of 34%? Show me the bonus impact."

    • Scenario modeling for bonus optimization
  4. "Analyze the last 3 months for OAK. What's the trend?"

    • Month-over-month trend analysis with pattern identification
  5. "Calculate bonuses if we hit all targets vs. current performance for White Buffalo."

    • Potential vs. actual bonus comparison with opportunity cost
  6. "Show me which category is costing us the most money across all locations."

    • Cross-location variance analysis with dollar impact prioritization
  7. "Break down the $14,832 E11even reimbursement impact on Cantina's liquor bonus tiers."

    • Detailed reimbursement effect analysis with tier explanations
  8. "What specific changes does each location need to unlock their next bonus tier?"

    • Actionable recommendations with exact targets and dollar amounts
  9. "Compare Cantina's September vs October and predict November performance."

    • Trend analysis with forward-looking recommendations
  10. "Show me a complete executive summary I can present to ownership about all locations."

    • Professional report format with key insights and strategic recommendations

Usage: Simply say any of these prompts after uploading your foodUsageReport PDF(s) or CSV files.

Success Criteria

After using this Skill, users should:

  • βœ“ Know exact bonus amounts in <2 minutes
  • βœ“ Understand which categories need attention
  • βœ“ Have clear action items for next month
  • βœ“ Be able to explain bonuses to managers confidently

Resources

See resources/bonus_reference.md for complete bonus tier structure, targets, and Top Line thresholds for all locations.


Quick Reference for Claude

File Detection & Execution

When user uploads files, auto-detect and execute:

  1. Dual PDF Mode (Preferred) - If user uploads BOTH:

    • *foodUsageReport*.pdf AND *Gross*Sales*.pdf
    • Execute: python3 pnl_analyzer_pdf.py foodUsage.pdf grossSales.pdf [reimbursement]
    • Result: Uses NET SALES - most accurate
  2. Single PDF Mode (Legacy) - If user uploads ONLY:

    • *foodUsageReport*.pdf
    • Execute: python3 pnl_analyzer_pdf.py foodUsage.pdf [reimbursement]
    • Result: Uses GROSS SALES - warn about accuracy
  3. CSV Mode (Legacy) - If user uploads:

    • *foodUsageReport*.csv AND *controllableProfitAndLoss*.csv
    • Execute: python3 pnl_wrapper.py --location [LOC] --period [YYYY-MM] --reimb [AMT]
    • Result: Uses P&L report sales data

Auto-Detection Patterns

  • Food Usage PDF: *foodUsageReport*.pdf, *Food*Usage*.pdf
  • Gross Sales PDF: *Gross*Sales*.pdf, *Sales*Breakdown*.pdf
  • Usage CSV: *foodUsageReport*.csv, *usage*.csv
  • P&L CSV: *controllableProfitAndLoss*.csv, *P&L*.csv

Key Messages to User

  • βœ… "Using NET SALES for accurate calculations" (dual PDF mode)
  • ⚠️ "Warning: Using GROSS SALES - upload Gross Sales PDF for better accuracy" (single PDF)
  • πŸ“Š Show both total sales amounts and bonus difference when comparing modes

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

Verifiedcapability-contract

Contract coverage

Status

ready

Auth

api_key

Streaming

No

Data region

global

Protocol support

OpenClaw: self-declared

Requires: openclew, lang:typescript

Forbidden: none

Guardrails

Operational confidence: medium

Contract is available with explicit auth and schema references.
Trust confidence is not low and verification freshness is acceptable.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/snapshot"
curl -s "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract"
curl -s "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation β€’ (~400 MCP servers for AI agents) β€’ AI Automation / AI Agent with MCPs β€’ AI Workflows & AI Agents β€’ MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "ready",
  "authModes": [
    "api_key"
  ],
  "requires": [
    "openclew",
    "lang:typescript"
  ],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": "https://github.com/devinbostwick/Skills-pl-cost-analysis#input",
  "outputSchemaRef": "https://github.com/devinbostwick/Skills-pl-cost-analysis#output",
  "dataRegion": "global",
  "contractUpdatedAt": "2026-02-24T19:44:23.231Z",
  "sourceUpdatedAt": "2026-02-24T19:44:23.231Z",
  "freshnessSeconds": 4430759
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T02:30:22.681Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "lead",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "overstate",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "be",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "process",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "this",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "present",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:lead|supported|profile capability:overstate|supported|profile capability:be|supported|profile capability:process|supported|profile capability:this|supported|profile capability:present|supported|profile"
}

Facts JSON

[
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:44:23.231Z",
    "isPublic": true
  },
  {
    "factKey": "auth_modes",
    "category": "compatibility",
    "label": "Auth modes",
    "value": "api_key",
    "href": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:23.231Z",
    "isPublic": true
  },
  {
    "factKey": "schema_refs",
    "category": "artifact",
    "label": "Machine-readable schemas",
    "value": "OpenAPI or schema references published",
    "href": "https://github.com/devinbostwick/Skills-pl-cost-analysis#input",
    "sourceUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:23.231Z",
    "isPublic": true
  },
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Devinbostwick",
    "href": "https://github.com/devinbostwick/Skills-pl-cost-analysis",
    "sourceUrl": "https://github.com/devinbostwick/Skills-pl-cost-analysis",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:43:14.176Z",
    "isPublic": true
  },
  {
    "factKey": "traction",
    "category": "adoption",
    "label": "Adoption signal",
    "value": "1 GitHub stars",
    "href": "https://github.com/devinbostwick/Skills-pl-cost-analysis",
    "sourceUrl": "https://github.com/devinbostwick/Skills-pl-cost-analysis",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-24T19:43:14.176Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/devinbostwick-skills-pl-cost-analysis/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub Β· GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to pl-cost-analysis and adjacent AI workflows.