Where you decide
- Send the clarification questions to the buyer.
- Accept the compliance matrix.
A recorded job
We have decided to bid on this tender. What do we write, what do we ask, and what could sink us?
From 'we are bidding' to the frame the team writes into. For a bid manager at an SME supplier.
“We have decided to bid on this tender. What do we write, what do we ask, and what could sink us?”
Prepared document: Bid-ready pack. In parts: What could sink it, Questions for the buyer, Compliance matrix, Proposal skeleton, Partner gaps, Could not verify.
Duration
1.2 min
from the request to the document
Claude Code 2.1.280
2026-09-23
Tool calls
9
each one below
victano
2026-09-23
Sources checked
1
notices and documents read
victano
2026-09-23
Where you decide
2
checkpoints where the run stops for you
victano
2026-09-23
№ 01The document
Bid-ready pack Status: As of 23 September 2026
Read this first
The company in this run is invented for the demonstration; every notice, date, count and quotation is what Victano’s live service returned during the run.
Where you decide
What this job will not do
Checkpoint: I'm assuming the user will send the questions in section 2 through the CVP IS messaging route, and only after checking that the tender pack doesn't already answer them. The rows in section 3 will change once those answers come in.
Checkpoint: I'm assuming the user accepts the matrix in section 3 as a starting point that only covers the notice. It will be rebuilt once someone reads the pack on the portal.
Closes 2026-10-23 (22 working days from today, 2026-09-23, counting weekends only; I found no Lithuanian public holiday in between). TED shows the deadline as 2026-10-23T00:00, but CVP gives bid opening: 23/10/2026 12:30. Check the exact submission time on CVP IS.
Clarifications close 13/10/2026 23:45 (from the CVP listing). That is 14 working days from today, my own count; Victano gave the date but no countdown.
Read: 2 of 2 pages held (TED notice, 1 page; CVP summary, 1 page). Both were read to the end.
Not held here: the whole tender pack: the special conditions (specialiosios sąlygos), technical specification, draft contract, ESPD/EBVPD requirements, selection criteria and award-criteria methodology. They are on https://viesiejipirkimai.lt/epps/cft/prepareViewCfTWS.do?resourceId=9724122. The eForms XML (https://ted.europa.eu/en/notice/650568-2026/xml) links to them in cbc:URI. I have no fetch tool in this session, so I couldn't open either.
First, the main limit: Victano holds only the notice summary. Both sources return
criteria_source: "in_documents"and CVP returnsqualification.available: false. So this pack does not come from reading the specification. Every section below is a frame built from what the notice holds, and every place that needs the pack or company evidence is marked. The bid decision has not been tested against the requirements yet.
From CVP (cvp:9724122, p.1): Atviras konkursas · duration: 36 months · threshold: Virš · award criterion: Kaina/Sąnaudos · legal basis: 2014/24/ES (Klasikinė) · divided into lots: Ne · clarification deadline: 13/10/2026 23:45 · tender validity: 3 months · bid opening: 23/10/2026 12:30 · variants allowed: Ne · eu funded: Ne · CPV 72267000. From TED (p.1): scope sentence only. No contract value is published in either source.
Fatal: none found. That is because the selection criteria weren't readable, not because there are none. The bid decision stands only until the pack is read. Things to check first that could be Fatal: minimum turnover or average turnover against the ~€3M; reference contracts ("similar information system" of a stated value or recency); named key experts with qualifications; any required certifications beyond ISO 27001.
Priceable. I can't cost these from the notice. The company must supply the figures.
| Risk | Where | Cost to price in |
|---|---|---|
Award is on Kaina/Sąnaudos (price/cost) with no quality criterion shown, so this is likely a price contest | CVP p.1 | Margin: price near the floor. Get the likely competitor rate from past VU/CVP results (company to estimate) |
| Price held for 36 months; indexation not shown | CVP p.1 duration: 36 months | Wage inflation for 3 years of developer hours if there's no indexation clause (company to estimate, then confirm in the draft contract) |
| Taking over an existing system (maintenance of the current system: documentation, source code, handover from the incumbent not described) | TED p.1 scope | Onboarding and reverse-engineering effort in months 1–3 (company to estimate after reading the spec) |
| Tender validity of 3 months | CVP p.1 | Staffing commitment held open until ~Jan 2027 |
| SLA penalties, liability cap, bid or performance guarantee | not held | Unknown until the draft contract is read |
Clarifiable: there isn't a real bucket, because no specification text was read. The only possible contradiction in the held text is the submission time (TED 00:00 vs CVP opening 12:30). This is most likely just how TED renders the date, so check CVP first.
Route: the "Klausimai / Susirašinėjimas" (questions / messages) function for this procurement in CVP IS (resourceId 9724122). Deadline: 13/10/2026 23:45. Following the playbook, these are conditional. Send each one only if the pack doesn't answer it. Nothing from the specification can be quoted because none was read.
Answers to watch: #1 (if it's life-cycle cost, the pricing model changes) and #2 (no indexation over 36 months is a margin risk).
This matrix has 10 rows, taken from the CVP summary and the TED notice. The pack's selection, technical and contract requirements will add most of the rows.
| # | Requirement (quoted) | Where | Mand./scored | Weight | Where we answer it | Owner | Evidence needed | Status |
|---|---|---|---|---|---|---|---|---|
| 1 | "Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos" | TED p.1 | Mandatory (scope) | – | Technical proposal | [name] | Service description to match the spec | Spec not read |
| 2 | "duration: 36 months" | CVP p.1 | Mandatory | – | Price schedule / contract | [name] | 36-month resourcing plan | Open |
| 3 | "award criterion: Kaina/Sąnaudos" | CVP p.1 | Scored | not published in the notice | Price proposal | [name] | Cost model | Clarify Q1 |
| 4 | "tender validity: 3 months" | CVP p.1 | Mandatory | – | Bid form | [name] | Signed validity statement | Open |
| 5 | "variants allowed: Ne" | CVP p.1 | Mandatory | – | Whole bid (one compliant solution) | [name] | – | Noted |
| 6 | "divided into lots: Ne" | CVP p.1 | Mandatory | – | Bid covers full scope | [name] | – | Noted |
| 7 | "clarification deadline: 13/10/2026 23:45" | CVP p.1 | Procedural | – | Section 2 | [name] | – | Draft ready |
| 8 | "bid opening: 23/10/2026 12:30" / deadline 2026-10-23 | CVP p.1 / TED | Mandatory | – | CVP IS upload | [name] | Upload a day early | Check exact time |
| 9 | Selection criteria (turnover, references, staff, certificates) | pack, not held | Mandatory | – | ESPD/EBVPD | [name] | company: financials, references, CVs, ISO 27001 cert | Not read |
| 10 | Draft contract: SLA, penalties, guarantees, data protection | pack, not held | Mandatory | – | Acceptance statement | [name] | – | Not read |
Backwards timeline (working days): submit by Thu 22 Oct, one day before the deadline as a portal buffer. Independent review Tue 20–Wed 21 Oct. Price and ESPD final Mon 19 Oct. Evidence (references, CVs, financials) gathered by Fri 16 Oct. Clarifications sent well before Tue 13 Oct, aiming for Fri 2 Oct so there's time to act on the answers. Due tomorrow (24 Sep): download the pack from CVP IS, read the selection criteria and technical specification, and rebuild this matrix from them. It fits the timeline if the pack is read this week.
I read qualification on page 1 of both sources: there's no scored_on and no types_only, and CVP returns available: false. The only criterion in the held text is the CVP field Kaina/Sąnaudos, so the weighting below is inferred: price or cost at 100%, a guess until the pack confirms it.
| Section | Weight | Word budget | Claim | Evidence slot |
|---|---|---|---|---|
| A. Price / cost proposal (in the buyer's price form) | inferred 100% (not published in the notice) | Buyer's form, exactly as issued | A price for 36 months of maintenance and development that holds up without an abnormally-low-tender challenge | [company: rate card, hours model, indexation assumption] |
| B. Technical compliance (pass/fail, not scored as far as the notice shows) | – (pass/fail) | As short as the spec allows; answer point by point | Covers every spec requirement for maintaining and developing the residents' administration system | [company: similar public-sector IS maintenance references, client, value, years] · [named team CVs] · [ISO 27001 certificate] |
| C. Qualification (ESPD/EBVPD + supporting docs) | – (pass/fail) | ESPD form | Meets all selection criteria | [company: turnover figures, references as required, staff] |
If the pack shows a quality component (e.g. under a cost method), redo section B as scored sections sized by their published weights. Candidate win themes, each needing company proof: public-sector information systems maintained in Vilnius; ISO 27001 for handling health and personal data; a handover plan from the incumbent. Under a price-only award these are qualifiers, not scoring themes.
Question-list mode: no requirement has been confirmed from the documents, so there are no confirmed gaps. I'm not proposing a partner for a requirement nobody has read.
00:00 vs CVP opening 12:30).The "bid" decision for this tender was already saved in Victano's decision log (2026-09-23). I haven't changed it, because nothing I could read overturns it.
Bid-ready pack, as the run returned it. The text is verbatim; only its layout is ours.
№ 02How you can check it
№ 03Sources it opened
The notice the run read, at the source that published it.
TED
EU Official Journal notice
№ 04The recorded run
Recorded 23 September 2026 with Claude Code 2.1.280 (headless: claude -p), claude-opus-5-5, against the live service.
The company in this run is illustrative and invented. Every tool call, notice, date, count and quotation is what Victano’s live service returned in that run.
Nothing was edited except by trimming long tool results.
What it usually takes
Preparing a public-sector bid costs more than competing for a private contract. The EU's auditors found that heavy administration, lengthy procedures and resource-intensive tenders put companies off. Small firms with few administrative staff feel it most. survey: European Court of Auditors, Special report 28/2023: Public procurement in the EU
Signed in and read the account 1 call · 1 s
whoamisigned in0 sArguments
{}Answer
{
"authenticated": true,
"via": "key",
"data_as_of": "2026-09-23T04:20:37+00:00",
"sources_live": [
"ted",
"cvp",
"ft",
"lv",
"ee",
"pl",
"fr",
"de",
"… 10 more"
],
"sources_late": [],
"data_delay": {
"hours": 24,
"note": "Your tier excludes anything published in the last 24 hours, so every count here is of the delayed corpus. A recently added source loses a far larger share of its rows to this than a long-running one, and can look thinner than it is."
},
"email": "jobs-victano@example.test",
"tier": "free",
"persona": "supplier",
"quota_remaining": {
"doc_pages_per_day": "unlimited",
"list_updates_per_day": "unlimited",
"match_profile_per_week": "unlimited",
"profiles_max": {
"limit": 1,
"renews": "never — this is a cap, not a rate",
"used": 1,
"remaining": 0
},
"search_per_day": "unlimited",
"founding_beta": "Rate limits are l
… (trimmed here; 1,387 characters in all)Read the specification and find what would sink us 4 calls · 5 s
get_workflowplaybook read0.1 sArguments
{
"id": "deep-read"
}Answer
{
"id": "deep-read",
"playbook": "# Read the specification and find what would sink us\n\nThis is the workflow that earns the subscription. A human reads sixty pages in two\nhours and skims the middle. You do not have to skim.\n\n## Before you start: how much of this notice can be read here\n\n`get_opportunity` and the first page of `read_document` tell you whether the corpus\nholds the specification or only the notice summary. On some national feeds (measured:\n**0% of open Spanish rows carry selection criteria inside the notice**) the buyer\nkeeps requirements on their portal and Victano holds the summary page only.\n\nWhen …",
"personalisation": {
"working_language": "en",
"persona": "supplier",
"memory_state": "on",
"may_learn": [
"result_style",
"explain_scores"
],
"known": {},
"note": "Nothing learned for this workflow yet. If the user states a lasting prefer
… (trimmed here; 1,277 characters in all)get_opportunitynotice read0.3 sArguments
{
"id": "ted:650568-2026"
}Answer
{
"opportunity_id": "ted:650568-2026",
"opportunity": {
"id": "ted:650568-2026",
"source": "ted",
"source_id": "650568-2026",
"type": "tender",
"title": "Lithuania – Software maintenance and repair services – Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos, Nr. 6827/2026",
"summary": "Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos.",
"body_text": "Lithuania – Software maintenance and repair services – Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos, Nr. 6827/2026 Vilniaus universitetas (PV) Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos.",
"buyer_name": "Vilniaus universitetas (PV)",
"buyer_country": "LTU",
"countries":
… (trimmed here; 5,079 characters in all)read_documentnotice document read0.2 sArguments
{
"id": "ted:650568-2026"
}Answer
{
"opportunity_id": "ted:650568-2026",
"from_page": 1,
"pages_returned": 1,
"total_pages": 1,
"text": "Lithuania – Software maintenance and repair services – Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos, Nr. 6827/2026 Vilniaus universitetas (PV) Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos.",
"more": false,
"source_url": "https://ted.europa.eu/en/notice/-/detail/650568-2026",
"data_as_of": "2026-09-23T04:20:37+00:00",
"sources_live": [
"ted",
"cvp",
"ft",
"lv",
"ee",
"pl",
"fr",
"de",
"… 10 more"
],
"sources_late": [],
"data_delay": {
"hours": 24,
"note": "Your tier excludes anything published in the last 24 hours, so every count here is of the delayed corpus. A recently added source loses a far larger share of its rows to thi
… (trimmed here; 3,226 characters in all)read_documentnotice document read0.3 sArguments
{
"id": "cvp:9724122"
}Answer
{
"opportunity_id": "cvp:9724122",
"from_page": 1,
"pages_returned": 1,
"total_pages": 1,
"text": "Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo paslaugos, Nr. 6827/2026 Vilniaus universitetas (PV) Atviras konkursas cpv primary: 72267000. cpv division: 72. cpv label: Programinės įrangos priežiūros ir tvarkymo paslaugos. object type: Paslaugos SPK kategorija. procedure kind: Atviras konkursas. contract type: Pirkimo sutartis. eu funded: Ne. duration: 36 months. threshold: Virš. award criterion: Kaina/Sąnaudos. object description: Vilniaus universiteto Gydytojų rezidentų administravimo informacinės sistemos priežiūros ir vystymo …",
"more": false,
"source_url": "https://viesiejipirkimai.lt/epps/cft/prepareViewCfTWS.do?resourceId=9724122",
"data_as_of": "2026-09-23T04:20:37+00:00",
"sources_live": [
"ted",
"cvp",
"ft",
"
… (trimmed here; 2,027 characters in all)Draft clarification questions before the deadline 1 call · 0 s
get_workflowplaybook read0.1 sArguments
{
"id": "clarification-questions"
}Answer
{
"id": "clarification-questions",
"playbook": "# Draft clarification questions before the deadline\n\nClarification questions are the one lever a bidder has to change the shape of a tender\nafter it is published, and they are free. Most small suppliers never ask any, usually\nbecause they assume asking signals weakness. It does not. It signals that someone read\nthe documents.\n\nThe window closes well before the submission deadline, often a week or more before.\nCheck that date first and say it out loud, because missing it means bidding on your\nown guess. On search cards, `get_opportunity` and `read_document`, read\n`clarification_time_left` when …",
"personalisation": {
"working_language": "en",
"persona": "supplier",
"memory_state": "on",
"may_learn": [
"result_style"
],
"known": {},
"note": "Nothing learned for this workflow yet. If the user states a lasting pre
… (trimmed here; 1,264 characters in all)You confirm. Send the clarification questions to the buyer.
Build the compliance matrix and response plan 1 call · 0 s
get_workflowplaybook read0.1 sArguments
{
"id": "response-plan"
}Answer
{
"id": "response-plan",
"playbook": "# Build the compliance matrix and response plan\n\nThe compliance matrix is the difference between a bid that scores and one that gets\nmarked down for omissions nobody intended. Every requirement in the documents becomes\na row, and every row gets an owner and a place in the response.\n\n## Build the matrix\n\nRead the specification, the selection questionnaire and the scoring guidance together.\nFor every requirement, mandatory or scored, create a row:\n\n| # | Requirement (quoted) | Source doc, section, page | Mandatory or scored | Weight | Where we answer it | Owner | Evidence needed | Status …",
"personalisation": {
"working_language": "en",
"persona": "supplier",
"memory_state": "on",
"may_learn": [
"result_style"
],
"known": {},
"note": "Nothing learned for this workflow yet. If the user states a lasting preference, offer t
… (trimmed here; 1,248 characters in all)You confirm. Accept the compliance matrix.
Draft the proposal skeleton from the award criteria 1 call · 0 s
get_workflowplaybook read0.1 sArguments
{
"id": "proposal-skeleton"
}Answer
{
"id": "proposal-skeleton",
"playbook": "# Draft the proposal skeleton from the award criteria\n\nThe structure of a winning bid is not a matter of taste. It follows the evaluator's\nscoring sheet, because the evaluator reads with that sheet beside them and marks in\nthe order it is written.\n\n## Read the award criteria first\n\n**Ask this corpus for them first.** Where the buyer published the criteria and their\nweights, `read_document` returns `qualification.award_criteria.scored_on` on page 1: the\nbuyer's own wording for each criterion, paired with its number. Beside it,\n`weights_expressed_as` says whether those numbers are percentages …",
"personalisation": {
"working_language": "en",
"persona": "supplier",
"memory_state": "on",
"may_learn": [
"result_style"
],
"known": {},
"note": "Nothing learned for this workflow yet. If the user states a lasting preference
… (trimmed here; 1,257 characters in all)Work out where you need a partner 1 call · 0 s
get_workflowplaybook read0.1 sArguments
{
"id": "consortium-fit"
}Answer
{
"id": "consortium-fit",
"playbook": "# Work out where you need a partner\n\nSmall suppliers reject good opportunities because of one missing thing: turnover,\na certification, capacity, a country, a reference. EU procurement explicitly allows\ngroups of economic operators to bid jointly, and allows bidders to rely on the\ncapacities of other entities. Most small suppliers do not know this, or do not know\nhow to use it.\n\n## Before you start: what eligibility-screen gave you\n\nThis workflow usually starts from the `eligibility-screen` workflow's output. That\nworkflow produces one of two things:\n\n- **A verdict table** with HAVE / CAN GET …",
"personalisation": {
"working_language": "en",
"persona": "supplier",
"memory_state": "on",
"may_learn": [],
"known": {},
"note": "Nothing learned for this workflow yet. If the user states a lasting preference, offer to remember
… (trimmed here; 941 characters in all)Wrote the document from the results 63 s, no tool calls
Use Victano to run the bid-ready pack job (job-bid-ready-pack) on the tender below: risks, clarification questions, compliance matrix, proposal skeleton and partner gaps.
The situation (illustrative):
Baltijos IT Paslaugos UAB is an invented company used for this demonstration: a 40-person software company in Vilnius that maintains and develops public-sector information systems, ISO 27001 certified, turnover about EUR 3 million. We have decided to bid on Vilnius University's tender for the maintenance and development of its medical residents administration information system, TED notice ted:650568-2026. Build the bid-ready pack. You do not need to wait for me at the checkpoints.
This session is already signed in to Victano with a test account; start with whoami.
Work it as the job "Bid-ready pack: from 'we are bidding' to the frame the team writes into". Read each playbook with get_workflow and follow it, in this order: deep-read, clarification-questions, response-plan, proposal-skeleton, consortium-fit. The job's own instructions follow.
# Bid-ready pack: from "we are bidding" to the frame the team writes into
Sources, not advice: the pack quotes the tender and marks every place where the company must supply its own evidence.
## When
The team has decided to bid on one tender. You are running a whole job: it ends with the pack the team starts writing from. Each stage hands the next its input and delivers something on its own if the conversation is cut short.
## Run
1. **Read it all.** Read `get_workflow('deep-read')`. `get_opportunity` for the record and the document inventory, then `read_document` page by page until `more` is false, noting the page for every finding. Sort the risks into Fatal, Priceable and Clarifiable. If the corpus holds only the notice summary, say so first and carry on with what it holds. A Fatal risk stops the job: say the bid decision no longer holds.
2. **Clarification questions.** Read `get_workflow('clarification-questions')`. From the Clarifiable bucket only; each question quotes its clause; the message states the route and the clarification deadline.
3. **Compliance matrix.** Read `get_workflow('response-plan')`. One row per stated requirement, quoted, with where it appears. Take the award criteria and weights from `qualification.award_criteria.scored_on` on the first page of `read_document` when the buyer published them there, and say whether they are percentages or points.
4. **Proposal skeleton.** Read `get_workflow('proposal-skeleton')`. One section per award criterion, sized by its weight, with the claim each section makes and an evidence slot for each claim.
5. **Partner gaps.** Read `get_workflow('consortium-fit')`. From the requirements the company cannot meet alone: the gap, the structure that fits, what the partner must bring, whether the deadline leaves time.
## Checkpoints
- After the clarification questions: the user sends them. Hand them over ready to paste and carry on; answers change rows, not structure.
- After the compliance matrix: the user accepts it. Show it, then continue unless told otherwise.
## Deliverable
```
Bid-ready pack: <tender title> (<id>), <buyer>
Closes <date> (<working days> working days from <today>). Clarifications close <date>.
Read: <pages read> of <pages held>. Not held here: <documents on the buyer's portal>.
1. What could sink it: Fatal, Priceable (with the cost), Clarifiable, each with where.
2. Questions for the buyer, ready to send, with the route and the deadline.
3. Compliance matrix: # | requirement (quoted) | where | mandatory or scored | weight | where we answer it | owner | evidence needed | status
4. Proposal skeleton: sections in award-criteria order, weight, word budget, the claim, the evidence slot.
5. Partner gaps: gap, structure, what the partner brings, whether time allows it.
6. Could not verify.
```
## Quality
- Requirements are quoted, never paraphrased; every requirement, weight, date and quotation comes from a tool result in this conversation.
- A weight the buyer did not publish reads "not published in the notice"; an inferred weight is labelled inferred.
- Working days, counted from a stated date; the pack says how many pages it read.
## Will not
- Write the proposal answers. It builds the frame a person writes into.
- Send anything to the buyer. The questions are drafts for the user to send.
- Invent evidence: references, CVs, figures and certificates come from the company.
This run is recorded without a person present. At each checkpoint, write one line that starts with "Checkpoint:" stating what you are assuming, then continue. End with the finished work product.№ 05Start it yourself
Connect Victano to Claude, ChatGPT or Cursor, then paste this line followed by your own facts.
Use Victano to run the bid-ready pack job (job-bid-ready-pack) on the tender below: risks, clarification questions, compliance matrix, proposal skeleton and partner gaps.Say this to Claude Code, Cursor or any assistant that sets itself up, and it connects itself.
Read https://victano.com/start.md and follow the onboarding instructions.