| name | eop-price |
| description | Интерактивна сесия за ценообразуване на оферта — труд, материали, надценка. Използва се след анализ на поръчка с eop-analyze. |
| argument-hint | ["offer-id"] |
| allowed-tools | Read, Write, Glob, Grep, Agent, WebSearch, WebFetch, Bash(python *) |
Зареждане на контекст
Преди да започнеш, прочети задължително с Read tool:
./eopowers/offers/$ARGUMENTS/analysis.md — ако не съществува: "Първо стартирайте /eop-analyze $ARGUMENTS"
./eopowers/company-profile.md — ако не съществува: "Първо стартирайте /init"
./eopowers/domain.md — ако не съществува: "Стартирайте /init първо"
Използвай секция "Ценообразуване" от domain.md за:
- Разходни категории (адаптирай стъпки 3-5)
- Дневни ставки (ако са дефинирани)
- Ценови ориентир
- Типични доставчици (за market research)
Ценообразуване на поръчка $ARGUMENTS
Чеклист
Ценообразуване на поръчка $ARGUMENTS:
- [ ] Зареждане на анализ и фирмен профил
- [ ] Преглед на раздели и позиции
- [ ] Избор на режим (бърз / детайлен)
- [ ] Пазарно проучване на материали
- [ ] Калкулация на себестойност по раздели
- [ ] Определяне на целеви процент и множител
- [ ] Обобщение и корекции
- [ ] Генериране на анализи на единични цени (ако domain.md има П1-П5)
- [ ] Запис на pricing.md и price-analyses.xlsx
Работен процес
Прочети анализа от ./eopowers/offers/$ARGUMENTS/analysis.md и фирмения профил. Извлечи всички раздели и позиции от анализа (или КСС ако е наличен).
Зареди методологията от pricing-guide.md за справка с дневни ставки, надценки и стратегия.
Избор на режим
Покажи преглед на разделите:
📋 Поръчка $ARGUMENTS — [N] раздела, [M] позиции
| Раздел | Позиции | Ключови материали |
|--------|---------|-------------------|
| 1. [име] | [N] | [материали] |
| 2. [име] | [N] | [материали] |
...
Попитай: "Бърз режим (препоръчително за 20+ позиции) или детайлен режим позиция по позиция? (бърз/детайлен)"
По подразбиране: бърз.
Бърз режим (по подразбиране)
Стъпка 1: Целеви процент
Покажи ценовия ориентир от domain.md (секция "Ценообразуване → Ценови ориентир").
Попитай: "Какъв процент от прогнозната стойност целите? (напр. 75%)"
Предложи стойност базирана на критерия за оценка от analysis.md:
- Ако единствен критерий е цена → предложи 70-75%
- Ако техническо предложение тежи повече → предложи 80-85%
Стъпка 2: Пазарно проучване
Dispatch eop-market-researcher субагент с ВСИЧКИ ключови материали от всички раздели наведнъж. Подай:
- Списък на материалите с количества
- Доставчиците от domain.md (секция "Ценообразуване → Типични доставчици")
- Регион от company-profile.md
Субагентът връща таблица с пазарни цени за всеки материал.
Стъпка 3: Калкулация на себестойност
За всеки раздел, изчисли себестойност:
Себестойност на раздел = Труд + Материали + Допълнителни
Труд: оцени часовете по количество × норматив (от pricing-guide.md)
× средна часова ставка от domain.md
Материали: от пазарното проучване × количества
Допълнителни: транспорт, механизация (наем ако е нужен)
Покажи таблица:
| Раздел | Себестойност (EUR) | % от прогнозна |
|--------|-------------------|----------------|
| 1. [име] | [X] | [Y]% |
| 2. [име] | [X] | [Y]% |
...
| ОБЩО | [X] | [Y]% |
Стъпка 4: Множител и единични цени
Изчисли множител: множител = целева_сума / обща_себестойност
Приложи множителя върху себестойността на всяка позиция, за да получиш единична цена:
Единична цена = Себестойност на позиция × множител / количество
Покажи обобщение по раздели:
═══════════════════════════════════════
📊 ОБОБЩЕНИЕ НА ЦЕНООБРАЗУВАНЕТО
═══════════════════════════════════════
Обща стойност на офертата: X EUR (без ДДС)
Прогнозна стойност на поръчката: Y EUR
Разлика: Z%
Себестойност: W EUR
Печалба: P EUR (Q% марж)
Множител за единични цени: Rx върху себестойност
═══════════════════════════════════════
Стъпка 5: Корекции
- Ако общата стойност > прогнозната: "⚠️ Общата стойност надвишава прогнозната! Препоръчително е да коригирате."
- Попитай: "Искаш ли да коригираш цената на някой раздел? (въведете номер или 'не')"
- Ако потребителят въведе номер — покажи позициите в раздела и позволи индивидуални корекции.
- Ако "не" — премини към генериране на анализи.
Стъпка 6: Генериране на анализи на единични цени
Провери дали domain.md има секция "Параметри за анализ на единични цени" (П1-П5).
Ако НЯМА — пропусни тази стъпка. Покажи: "ℹ️ Domain.md няма П1-П5 параметри — price-analyses.xlsx няма да бъде генериран."
Ако ИМА — генерирай ./eopowers/offers/$ARGUMENTS/price-analyses.xlsx:
python3 << 'PYTHON_SCRIPT'
from openpyxl import load_workbook, Workbook
from openpyxl.styles import Font, Alignment, Border, Side
P1 = 7.50
P2 = 0.72
P3 = 0.40
P4 = 0.06
P5 = 0.10
wb = Workbook()
headers = ['№', 'Описание', 'Ед. мярка', 'Кол.',
'Труд часове', f'Труд лв. (×П1×(1+П2))',
f'Механизация (×(1+П3))', 'Материали',
f'П4 ({P4*100:.0f}%)', f'П5 ({P5*100:.0f}%)', 'Ед. цена']
wb.save('./eopowers/offers/$ARGUMENTS/price-analyses.xlsx')
PYTHON_SCRIPT
Реалният скрипт трябва да:
- Прочете pricing.md за разбивката себестойност → труд/материали/механизация по позиции
- Изчисли обратно часовете труд от трудовия разход и П1
- Приложи П1-П5 формулите за всяка позиция
- Създаде отделен лист за всеки раздел от КСС
- Форматира хедърите с bold шрифт
Детайлен режим (по избор)
За детайлно ценообразуване позиция по позиция, потребителят казва "детайлен".
В този режим, за ВСЯКА позиция следвай стъпките по-долу.
Стъпка Д1: Представяне на позицията
Покажи позицията:
📋 Позиция #N: [описание]
Минимално изискване: [стойност]
Единица мярка: [единица]
Количество: [количество]
Стъпка Д2: Изпълнимост
Попитай: "Можеш ли да изпълниш тази позиция с наличните ресурси? (да/не/частично)"
- Ако "не" — "Искаш ли да използваш подизпълнител или да пропуснеш позицията?"
- Ако "частично" — "Какво можеш да покриеш? Какво остава за подизпълнител?"
Стъпка Д3: Труд
Попитай последователно:
- "Колко работници са нужни за тази позиция?"
- "Колко работни дни?"
- "Каква дневна ставка?" (предложи средна за региона от pricing-guide.md)
- "Наемане на нови работници или от съществуващия екип?"
- "Необходима ли е специална квалификация?"
Изчисли и покажи:
Труд: [N] работници × [D] дни × [S] лв./ден = [Total] лв.
Стъпка Д4: Материали
За всеки основен материал в позицията:
- Проучи текущи цени онлайн (dispatch
eop-market-researcher субагент или използвай WebSearch)
- Търси в доставчиците от domain.md (секция "Ценообразуване → Типични доставчици") и други онлайн източници
- Представи намерените цени в таблица
Попитай:
- "Имаш ли отстъпки при тези доставчици?"
- "Можеш ли да договориш по-добра цена с партньорите?"
- "Имаш ли наличност на склад от този материал?"
Стъпка Д5: Допълнителни разходи
Попитай:
- "Транспорт от склад до обект: [предложи оценка или попитай]"
- "Необходима ли е механизация (кран, скеле и др.)?"
- "Застраховки и гаранции?"
Стъпка Д6: Обща цена за позицията
Изчисли: Общо = Труд + Материали + Допълнителни
Покажи обобщение:
📊 Обобщение за Позиция #N:
Труд: [X] лв.
Материали: [Y] лв.
Допълнителни: [Z] лв.
─────────────────────────
ОБЩО: [X+Y+Z] лв.
Единична цена: [сума] лв./[единица]
Стъпка Д7: Потвърждение
Запиши позицията и премини към следващата.
След всички позиции — покажи обобщението (същото като Стъпка 4 на бърз режим) и премини към Стъпка 6 (анализи на единични цени).
Запис на pricing.md
Запиши файл ./eopowers/offers/$ARGUMENTS/pricing.md в следния формат:
# Ценообразуване — поръчка [offer-id]
## Обобщение
- Обща стойност на оферта: [X] EUR (без ДДС)
- Прогнозна стойност на поръчката: [Y] EUR
- Разлика: [Z]%
- Себестойност: [W] EUR
- Печалба: [P] EUR ([Q]% марж)
- Множител за единични цени: [R]x върху себестойност
- Стратегия: [описание]
- Дата: [current date]
## По раздели
### Раздел 1: [име] — [обща стойност] EUR
| # | Описание | Мярка | Кол. | Ед. цена (EUR) | Общо (EUR) |
|---|----------|-------|------|----------------|------------|
| 1 | ... | ... | ... | ... | ... |
### Раздел 2: [име] — [обща стойност] EUR
...
## Калкулация
| Компонент | EUR |
|-----------|-----|
| Раздел 1: [име] | [стойност] |
| Раздел 2: [име] | [стойност] |
...
| **Директни разходи** | **[сума]** |
| Overhead [X]% | [стойност] |
| Непредвидени [X]% | [стойност] |
| **ОБЩА СТОЙНОСТ (без ДДС)** | **[сума]** |
## Бележки
- [бележки за специфични решения, подизпълнители, наеми и др.]
За подробна методология на ценообразуване, виж pricing-guide.md.