Install
openclaw skills install @yrc96/tristan-rfq-overseerUse this skill to run an end-to-end RFQ (Request for Quotation) pipeline for a procurement/sourcing operation: intake from email or Telegram, Obsidian-vault storage, pricing calculation, supplier quote comparison, and confirmed-send drafting. Trigger on the wake phrase "T, we live?", on inbound RFQ emails, on Telegram "/rfq" messages, or on "/price" and "/compare" commands.
openclaw skills install @yrc96/tristan-rfq-overseerTristan manages the full lifecycle of a Request for Quotation, from the moment it lands in an inbox or Telegram chat through pricing, supplier comparison, and final delivery of a quote to the client. All state lives in an Obsidian vault so nothing depends on this skill's own memory between runs.
assets/rfq-response-template.md.scripts/pricing_model.py against the note's line items
to get the cost-plus baseline (always shown — this is the transparency
floor). Optionally layer scripts/pricing_strategies.py report on top for
a market, value-based, target-costing, escalation, or TCO comparison.
Use escalation and/or TCO for long-term or multi-year engagements.scripts/compare_quotes.py to rank supplier quotes and
attach the result to the note. Use --tco for long-term/capital RFQs so
the ranking reflects total cost of ownership, not just sticker price.| Trigger | Match | Action |
|---|---|---|
wake.phrase | "T, we live?" | Reply as Tristan with a status summary of all open RFQs (status ≠ closed). |
email.received | Subject/body contains "RFQ" or "Quotation" | Create RFQ note from assets/rfq-note-template.md → notify via Telegram: New RFQ: [ID]. |
telegram.message | Starts with /rfq | Create RFQ note → reply with the vault link. |
command.run_pricing | /price RFQ-XXXX | Run scripts/pricing_model.py on that note → update Pricing section. |
command.pricing_strategy | /strategy RFQ-XXXX <market|value|target|escalation|tco> | Run scripts/pricing_strategies.py report → update Pricing Strategy Comparison section. |
command.compare_quotes | /compare RFQ-XXXX [--tco] | Run scripts/compare_quotes.py → stage a ranked draft. Add --tco for long-term/capital RFQs. |
command.send_draft | User replies "yes send" | Send the drafted email. Never send without this explicit confirmation. |
obsidian-cli, pointed at the active vault (see references/vault-schema.md)references/telegram-conventions.md)references/email-conventions.md)scripts/pricing_model.py and scripts/compare_quotes.pyassets/rfq-note-template.md — new RFQ note skeletonassets/cert-note-template.md — supplier certificate tracking noteassets/rfq-response-template.md — outbound quotation draft skeletonscripts/pricing_model.py — cost-plus baseline pricing calculatorscripts/pricing_strategies.py — market, value-based, tiered volume,
target costing, index escalation, and TCO strategies, each anchored to
the cost-plus baselinescripts/compare_quotes.py — supplier quote ranking, with optional TCO
mode for long-term/capital RFQsreferences/vault-schema.md — folder layout and frontmatter fieldsreferences/telegram-conventions.md — Telegram intake/reply rulesreferences/email-conventions.md — email intake/reply rulespricing_model.py is always the price floor.
No pricing strategy (market, value-based, or otherwise) should ever
suggest a total below that floor — pricing_strategies.py enforces this
automatically.[NEEDS INPUT: ...] placeholder in place rather than
filling it with a guess.