Skip to content

feat(skill): lab cost structure + pricing — full cost stack before quoting a price - #117

Open
areliw wants to merge 1 commit into
mainfrom
claude/exciting-swirles-7486c0
Open

feat(skill): lab cost structure + pricing — full cost stack before quoting a price#117
areliw wants to merge 1 commit into
mainfrom
claude/exciting-swirles-7486c0

Conversation

@areliw

@areliw areliw commented Jul 15, 2026

Copy link
Copy Markdown
Owner

What

Closes a coverage gap in two draft judgment skills: labs routinely price on direct cost alone (reagents/consumables) and underprice, ignoring indirect/hidden cost that can equal direct cost.

skills/lab-clinic-business-judgment.md (primary home)

  • Fork 7 — build the full cost stack before quoting a per-test price / judging viability. The direct-vs-hidden landmine (de-identified restaurant analogy), the 4 hidden-cost buckets:
    1. Fully-loaded headcount (salary + benefits + leave/absence coverage), not base salary
    2. Rent + utilities + internet
    3. Service/repair contracts + non-lab staff (cleaner, aircon tech on rounds)
    4. Equipment depreciation on capital purchases
    • Decision rule: true unit cost ≈ variable/test + (fixed/month ÷ tests/month)price ≥ true unit cost even for non-profit / government.
    • The government-ignores-fixed-cost dynamic ("the state pays for it") that suppresses reference prices and is one structural reason MT wages stay low.
  • Fork 8 — price-floor dynamics. Why a cartel/price-fix breaks (the low-cost 5th player always undercuts; also illegal), and why government procurement is the biggest price-suppressor.
  • Fork 6 unit-economics bullet now points to Fork 7; 3 new anti-patterns.

skills/finance-judgment.md

  • Fork 8 — general true-unit-cost bullet for pricing your own service + one anti-pattern, cross-linked to the lab skill (principle only, no duplication — its Fork 2 reads others' financials, so the gap was distinct).

Why

Community landmine from a Thai MT group expert (de-identified), analogous to a well-known restaurant that miscalculated cost and failed. Frames as decision-support, not a cost-accounting lecture — the judgment is "before you quote a price, build the full fixed+variable stack and check price ≥ true unit cost."

Reviewer notes

  • Both skills remain status: draft (ADVISE, not clinical 🩸) — no A/B gate required by CI.
  • Numbers/structures hedged as teaching illustrations that vary by unit — verify against real accounts. PII-clean.
  • Regenerated skills/INDEX.md + dist/all-skills.md via build_triage.py; validate_repo.py passes (96 skills, frontmatter + links OK). prompts/triage.md unchanged (taglines didn't move).

🤖 Generated with Claude Code

…ricing

Close the "count only direct cost" trap: labs routinely price on
reagent/consumable cost alone and underprice, ignoring indirect/hidden
cost that can equal direct cost.

lab-clinic-business-judgment:
- Fork 7: build the full cost stack (fixed + variable) before quoting a
  per-test price or judging viability; 4 hidden-cost buckets
  (fully-loaded headcount incl. leave/coverage, rent+utilities+internet,
  service/repair contracts + non-lab staff, equipment depreciation);
  rule price >= true unit cost even for non-profit/government; the
  govt-ignores-fixed-cost dynamic that keeps MT wages low
- Fork 8: price-floor dynamics — why a cartel/price-fix breaks and why
  government procurement is the biggest price-suppressor
- Fork 6 unit-economics bullet now points to Fork 7; 3 new anti-patterns

finance-judgment:
- Fork 8: general true-unit-cost bullet for pricing your own service,
  plus one anti-pattern, cross-linked to the lab skill (principle only,
  no duplication)

Regenerated skills/INDEX.md and dist/all-skills.md via build_triage.py;
validate_repo.py passes. Numbers hedged as teaching illustrations that
vary by unit; PII-clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d1b52c49d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

2. **สถานที่/utilities** — **ค่าเช่า** + น้ำ + ไฟ + **เน็ต** (LIS/เบิกรัฐ/ผลออนไลน์ ต้องมี)
3. **operation** — สัญญา service/ซ่อมเครื่อง (PM/calibration) + **คนนอกสายแล็บ** (แม่บ้าน · ช่างแอร์/ช่างที่มาราวด์)
4. **ค่าเสื่อม (depreciation)** — เครื่อง/ทุนที่ซื้อ ต้องเฉลี่ยลงต่อปี/ต่อ test ไม่ใช่ "จ่ายทีเดียวจบ = ฟรีตลอด"
- **สูตรตัดสิน:** `true unit cost ≈ variable/test + (fixed รวมต่อเดือน ÷ จำนวน test/เดือน)` → **เช็ค ราคาขาย ≥ true unit cost เสมอ แม้เป็น non-profit/แล็บรัฐ** (ไม่งั้น "ยิ่งตรวจยิ่งขาดทุน" — volume ต่ำยิ่งเจ็บ เพราะ fixed หารด้วยเลขน้อย)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify full-cost price floor for subsidized work

For labs with spare capacity or fixed costs already committed/subsidized, work priced below fully allocated average cost can still improve contribution margin when the price exceeds variable cost; volume only makes losses worse when price is below variable cost or triggers new fixed costs. The unconditional ราคาขาย ≥ true unit cost เสมอ rule would make the skill reject viable government/non-profit or incremental contracts, so please frame this as the long-run/full-cost sustainability floor and add the variable-cost contribution exception.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant