Sales Cost Table Skill
ForgeFX’s standard operating guide for proposal cost tables: option structure, Goldilocks tiering, visual styling, pricing logic, and field notes from real proposal runs.
Sales Cost Table Skill
Generates ForgeFX-standard cost tables for proposals. Based on the ProposalBot reference design (the gold standard).
When to Use
- Creating a new proposal cost table
- Estimating project pricing for a client
- Generating strawman budgets for internal review
- Any mention of "cost table", "pricing table", "scope and cost", "budget breakdown"
Standard Format
Based on the canonical SharePoint template: /TeamSite/Internal/Proposals/_Templates/ForgeFX-Cost-Table-Template.xlsx
Columns (6 tiered options)
| # | Column | Description |
|---|---|---|
| 1 | # | Sequential item number (1, 2, 3) |
| 2 | Title | Short feature/deliverable name |
| 3 | Description | Brief scope description. 1-2 sentences. |
| 4 | Option A | Core / minimum viable scope. Dollar amount. |
| 5 | Option B | Standard scope. Dollar amount. |
| 6 | Option C | Full scope. Dollar amount. |
Tiering Logic: Goldilocks Model
CRITICAL: Option A (baby bear) MUST total less than $100,000. This is a hard ceiling.
Options are additive by feature, not by price tier within each feature. Each feature is either IN or OUT of a given option. The typical pattern for 10 features:
- Option A Features 1 through ~4. Core minimum. Always < $100K total.
- Option B Features 1 through ~7. Standard scope. Includes everything in A plus mid-tier features.
- Option C Features 1 through 10. Full scope. Every feature included.
In the spreadsheet, features excluded from a tier show $0. Features included show their full price (same price across all tiers that include them).
Self-Contained Features
Each feature must be a self-contained deliverable, not a process step. A feature includes its own discovery, development, testing, QA, and deployment as needed. Do NOT create separate line items for cross-cutting concerns like "Testing and QA" or "Deployment" -- bake those into each feature price.
This ensures Option A is a shippable product with just features 1-4, Option B is shippable with 1-7, etc. No feature depends on a later line item to be complete.
Wrong: Feature 1 = Physics, Feature 2 = Environment, ... Feature 10 = Testing and Deployment Right: Feature 1 = "Robot Physics and Controls" (includes its own testing), Feature 2 = "Urban Environment" (includes its own QA), etc.
Feature Ordering
Order features from most essential to least essential. The first ~4 features should form a coherent, usable minimum product. Features 5-7 expand it meaningfully. Features 8-10 are nice-to-haves or advanced capabilities.
Visual Design
Reference styling: examples/cost-table-reference-styling.png (the approved gold standard — match it).
- # column: horizontal center, vertical center - Title column: horizontal left + indent 1, vertical center, bold, wrap text on - Description column: horizontal left + indent 1, vertical center, wrap text on - Option A/B/C columns: horizontal right + indent 1, vertical center (dollar values); excluded cells show a centered em-dash (—) in a muted gray, horizontal + vertical center
- Header row: Gold (#F6B104)
- Data rows: Cream (#FDF2E7)
- Totals row: Dark slate (#5C708A), uses SUBTOTAL(109,...) formula
- Font: Calibri throughout
- Currency format: $#,##0 (whole dollars, no cents)
- Title column: BOLD. Titles are bold to anchor each row and reduce reader cognitive load.
- Alignment (every cell vertically centered — no exceptions):
- Word wrap + row height: Title and Description columns must wrap. Set explicit row heights (~15.5px per wrapped line) so full descriptions render in file-preview screenshots, not just when a cell is clicked.
- Page setup: Landscape, fit-to-width = 1 page, so previews show every column instead of clipping the Option columns onto a second page.
- Excel Table: Table1, TableStyleMedium14, row stripes off, filter buttons disabled
Hourly Math
The template shows flat dollar amounts only. Hourly calculation ($185/hr x hours) is done externally. This keeps the deliverable clean and scope-focused.
Pricing Guidelines
| Project Type | Typical Range | Typical Phases |
|---|---|---|
| POC / Pilot | $75K-$150K | 3-4 phases |
| Standard Project | $150K-$400K | 4-6 phases |
| Enterprise / Multi-phase | $400K-$1M+ | 5-8 phases |
| VR Training (full) | $200K-$500K | 5-7 phases |
| WebGL/Browser Sim | $100K-$250K | 4-5 phases |
Rate Card Reference
| Role | Proposal Rate |
|---|---|
| Blended (default) | $185/hr |
| Senior Engineer | $225/hr |
| 3D Artist | $175/hr |
| Project Management | $185/hr |
| QA/Testing | $150/hr |
Most proposals use blended $185/hr for simplicity.
Usage
1. Gather scope from: meeting transcripts, Fireflies, Jira, Salesforce, Slack channel 2. Break scope into ~10 self-contained features, ordered most-to-least essential 3. Estimate dollar amounts per feature ($185/hr x hours externally, bake testing into each feature) 4. Assign features to tiers: first ~4 = Option A (must be < $100K), first ~7 = Option B, all 10 = Option C 5. Verify Option A < $100K. If not, rebalance. 6. Generate table in markdown for review 7. Once approved, generate .xlsx
For raw BOE/WBS spreadsheets that need to be compressed into the standard 10-row shape, use references/boe-to-10-row-cost-table.md. The key move is to group internal work packages into buyer-visible deliverables, keep Option A as a paid definition/prototype package under $100K, and surface support/data/hardware assumptions as visible pricing risks.
When Adam asks to soften, decrease, reduce, dial back, harden, increase, or tighten cost-table scope commitments by a percentage, use references/commitment-softening-playbook.md. The descriptions are the commitment surface: rewrite every line-item description so the client-facing promise matches the requested percentage change before treating reduced hours/pricing as safer.
When Adam asks for Baby Bear / Mama Bear / Papa Bear pricing, Goldilocks pricing, or a pricing-meeting support package, use references/goldilocks-pricing-meeting-cost-tables.md. Pair the standard 10-row workbook with a short meeting deck when PowerPoint or meeting support is part of the ask.
Notes
- Always label as "STRAWMAN" or "DRAFT" until approved by Adam/Greg
- Round hours to nearest 10 or 20 for cleanliness
- Include a 10-15% contingency buffer baked into phase estimates
- For enterprise clients ($1B+ revenue), price confidently. Do not undercut.
- The $185/hr blended rate is non-negotiable. Discounts require Adam approval.
Field Notes (learnings, not mandates)
Captured feedback from real proposal runs. Apply with judgment.
Devin, 2026-06-09 (TMEIC) — cheatsheet, $100 placeholder, wrap-everything
- Single page, 3 options is the ideal shape. A cost sheet should aim to be one page the client can pick from, with three clear options. When you've produced several framings of the same proposal (e.g. a small comms-PoC sheet, a full-phase sheet, and a combined ladder), add a cheatsheet page that compares them and marks the recommended one. Cheatsheet layout that worked: one row per sheet; columns
Cost Sheet | What It Covers | Option A | Option B | Option C | Pick; Option cells hold a short tier label + total (e.g. "A - Comms PoC / $90,000"); the recommended row gets a gold-tint fill (#FCE2B0) + bold name + "★ RECOMMENDED" in the Pick column; a short italic recommendation rationale + pricing-note row sit below the table. Recommend the framing that best delivers "one page, three commitment levels." - Uncertain pricing → use $100 per line item as a deliberate placeholder so it visibly stands out as "not yet estimated," rather than guessing. Call the convention out (a note on the sheet: "$100 = placeholder for scope not yet estimated, not a real price"). Do not silently invent a number when scope is unknown.
- Enable word wrap on ALL cells by default, not just Title/Description — description text was clipping. Set
wrap_text=Trueon every cell and give rows generous explicit heights so nothing is cut off in the file-preview screenshot.
SharePoint Read-Only Viewer Links
When uploading cost table files to SharePoint, always provide a read-only viewer link: action=view opens in browser with no lock. Always prefer this.
boe-to-10-row-cost-table.md
BOE to standard 10-row cost table
Use this when a proposal channel has a raw BOE/WBS spreadsheet and Adam asks to "mush" or compress it into ForgeFX's standard cost-table shape.
Pattern
1. Read the BOE sheet and group work packages by buyer-visible deliverable, not by internal discipline. 2. Produce exactly 10 self-contained rows ordered from most essential to least essential. 3. Keep Option A under $100K by making it a paid definition/prototype package, not a fake miniature full build. 4. Make Option B the core production build: the essential simulator, primary hardware/cab work, core environments, and core physics/operating systems. 5. Make Option C the full program: extensions, remote/distributed capability, advanced reporting/data ownership, documentation, warranty, support, UPS, and service terms. 6. Preserve major assumptions as pricing cautions, especially source data quality, hardware responsibility, fidelity level, support term, and client-provided materials. 7. Save both a human-readable markdown draft and an .xlsx strawman when the work is for a live proposal folder.
Example mapping from a rail simulator BOE
- Proposal definition / scope lock
- ForgeSIM platform and instructor baseline
- Cab prototype package
- Core scenario and training demonstrator
- Production cab simulator and hardware integration
- Existing route environments
- Vehicle physics and operating systems
- Extension environments
- Remote workstation / distributed playback / observer mode
- Advanced reporting, data, support, and documentation
Pitfalls
- Do not map every BOE row one-to-one; the standard cost table is a buyer-facing option ladder, not the raw estimating workbook.
- Do not bury warranty, support, UPS, data ownership, or reporting scope inside a generic delivery row. Those are pricing risks and should be visible.
- Do not present the result as approved pricing. Label it AI-STRAWMAN-DRAFT until Adam/Greg/Mary/Sara review it.
commitment-softening-playbook.md
Commitment softening / hardening playbook
Use this when Adam asks to "soften," "decrease," "reduce," "dial back," or "lower" cost-table scope commitments by a stated percentage across the board. Also applies in reverse when he asks to "harden," "increase," "tighten," or "raise" commitments.
Core idea
In a ForgeFX cost table, the description text is the commitment surface. The hours and price feel safer only when the written scope promises less. Do not merely cut numbers. Rewrite every line item so the client-facing commitment matches the intended reduction in obligation.
Softening by X% means: reduce the strength, breadth, specificity, certainty, and completion promise of each line-item description by roughly X%, while keeping the line item useful and honest.
Hardening by X% means: make the line-item descriptions more complete, explicit, guaranteed, integrated, or acceptance-ready, and expect pricing/hours to rise accordingly.
Trigger phrases
Treat these as the same workflow:
- "soften the commitments by 25%"
- "soften the cost table line item scope commitments by 50%"
- "decrease commitments across the cost table"
- "reduce scope promises by 10%"
- "make the line items less committed"
- "dial back the descriptions"
- "harden commitments" / "increase commitments" / "tighten commitments" when the direction is upward
Softening levels
10% soften — light hedge
Use when the price is close but the wording is a little too strong.
- Keep the same deliverable.
- Replace absolute language with bounded language.
- Add client-input dependencies.
- Clarify that final details are subject to scope lock.
Example moves:
- "Develop the full-function operator cab simulator" → "Develop a production-oriented operator cab simulator based on agreed control/display requirements."
- "Complete data ownership/export features" → "Provide agreed data/export features for the prioritized reporting workflow."
25% soften — narrower acceptance
Use when hours need a meaningful reduction but the option should still feel credible.
- Reduce breadth of included variants, scenarios, reports, integrations, or environmental detail.
- Move some depth into assumptions or later change-order language.
- Convert "all / full / complete" to "priority / representative / agreed / initial."
- State that content depth depends on source-data quality and review availability.
Example moves:
- "Model the existing Blue Line and Green Line alignments, stations, yards, signals, switches, crossings, overhead catenary, signage, and training-critical infrastructure" → "Model prioritized Blue/Green Line segments and training-critical infrastructure needed for the agreed scenarios, based on available source data."
50% soften — controlled starter scope
Use when the current row reads like a full build but pricing needs to behave like a starter package.
- Convert full production promises into prototype, representative, baseline, or first-pass scope.
- Remove implied exhaustive coverage.
- Limit deliverables to a defined subset, one workflow, one route segment, one reporting package, or one demonstrator.
- Push advanced support, integrations, content variants, and long-tail polish into later options/change orders.
Example moves:
- "Full-function operator cab simulator with physical controls, displays, instrumentation, audio, calibration, and commissioning support" → "Representative cab-simulator package covering the agreed core operator workflow, with physical-control/display assumptions documented for later production expansion."
Hardening levels
When Adam asks to harden/increase commitments, reverse the softening logic:
- Replace "representative" with "production-ready" only when pricing supports it.
- Replace "prioritized" with named coverage.
- Add acceptance criteria, commissioning, documentation, support, and integration depth.
- Name included variants, reports, environments, devices, or workflows.
- Increase price/hours or flag that the existing number no longer supports the wording.
Batch process
1. Identify the requested direction and percentage. 2. Preserve the 10-row structure and option inclusion pattern unless Adam asks to change rows. 3. Rewrite every line-item description at the requested commitment level. 4. Keep titles mostly stable unless a title itself overcommits. 5. Adjust pricing only if requested; otherwise mark the table as a wording/commitment pass and flag pricing for review. 6. Add a note to the table: Commitment wording softened by <X>% for pricing comfort; final scope requires SME approval. 7. Verify Option A still stays under $100K and the option totals still match the intended pricing model.
Do not
- Do not cut prices while leaving full-scope descriptions intact.
- Do not hide exclusions in vague language; state boundaries plainly.
- Do not soften safety, compliance, legal, or warranty obligations into misleading promises.
- Do not change the commercial meaning of a row without leaving a visible note for review.
Output expectation
When asked to soften/harden commitments, return:
1. A revised cost table with updated descriptions. 2. A short change note explaining the requested percentage and direction. 3. A risk note naming which commitments were moved into assumptions, later options, or change-order territory. 4. If generating .xlsx, include the softening/hardening note in a Meeting Notes or Assumptions sheet.
goldilocks-pricing-meeting-cost-tables.md
Goldilocks pricing meeting cost tables
Use this when Adam asks for Baby Bear / Mama Bear / Papa Bear pricing, Goldilocks pricing, pricing-estimation meeting support, or a deck + cost table combo for a proposal pricing call.
Core model
Goldilocks pricing is still the standard additive 10-row ForgeFX cost table. The labels change for meeting clarity:
- Baby Bear / Option A — paid definition, prototype, or controlled fallback. Must stay under $100K.
- Mama Bear / Option B — practical base bid / core production simulator.
- Papa Bear / Option C — full-program anchor with expansions, advanced features, support depth, documentation, and risk-bearing scope.
Meeting output package
When the ask mentions PowerPoint, deck, pricing meeting, Excel, BOE, or cost table together, produce both:
1. Editable .xlsx cost table in the standard 10-row format. 2. Short pricing-meeting deck that summarizes Baby/Mama/Papa, the table, and the decisions needed.
The workbook is the source of truth for line items and totals. The deck is a meeting workbench.
Workbook shape
Include at least these sheets:
Cost Table— the standard 10-row additive table with formulas for totals.Meeting NotesorAssumptions— status, pricing caveats, support/update decisions, and scope notes.Source Mapping— how raw BOE/WBS rows were grouped into the buyer-visible 10 rows.
Verification requirements:
- Option A / Baby Bear total is under $100K.
- Totals are formulas such as
SUBTOTAL(109,...), not only hardcoded numbers. - All option columns render on one landscape page.
- No visible Excel errors in rendered/PDF preview.
Deck companion shape
A compact meeting deck usually works best:
1. Cover / pricing frame. 2. Three commercial commitments. 3. Standard 10-row cost table summary. 4. Decision board for support, hardware, software updates, UPS, and contract terms. 5. Assumptions to lock by option. 6. Meeting outcome / decisions needed.
Commitment softening interaction
If Adam asks to soften/decrease/reduce commitments by a percentage, use references/commitment-softening-playbook.md before treating lower prices as safer. The line-item descriptions must change, not just the numbers.
Handoff language
Always label outputs AI-STRAWMAN-DRAFT until reviewed. Say plainly whether the numbers are meeting anchors or approved client-facing pricing.
Source: .hermes/skills/sales-cost-table. Rendered as a standalone ForgeFX Share Preview artifact.