hamzaabduljabbar/boq-schedule

Wandeln Sie eine bepreiste Leistungsverzeichnis (BOQ) in einen ersten Entwurf eines kostenbelasteten Bauprogramms um, das in Primavera P6 (XER) importiert wird – Aktivitäten nach Gewerk und Ort, Logik aus 73 echten P6-Terminplänen, BOQ-Geld und -Menge auf jeder Aktivität.

Was ist boq-schedule?

Diese Fähigkeit erstellt aus einer bepreisten Leistungsverzeichnis (BOQ) einen ersten Entwurf eines Bauprogramms, der als Primavera P6 XER-Datei importiert wird. Sie eignet sich ideal für Situationen, in denen jemand eine BOQ (z.B. ein Orçamento oder eine Planilha Orçamentária) besitzt und einen Basis-Terminplan, ein Programm oder einen Projektstrukturplan (PSP) ableiten möchte – insbesondere ohne vorhandenen Terminplan als Ausgangspunkt. Der Skill analysiert jede BOQ-Zeile in Englisch, Portugiesisch oder Spanisch, ordnet sie einem Gewerk und einem Ort zu (begründet), prüft die Summen auf den Cent genau und stellt dem Planer dann eine kurze Liste von Fragen, die die BOQ nicht beantworten kann (z.B. Standorte, Layout, Vertragslaufzeit, drei bekannte Dauern, Reihenfolge der Baustellenarbeiten). Anschließend wird der Entwurf erstellt. Der Skill unterstützt Claude Code und nutzt Python-Skripte für die Datenverarbeitung. Er ist nicht geeignet, um eine BOQ in einen bereits vorhandenen Terminplan zu laden (dafür gibt es den Skill p6-cost-loader) und erstellt keine Cashflow-Prognose.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hamzaabduljabbar/autoConst-boq-schedule/tree/HEAD

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

BOQ -> Terminplanentwurf (Primavera P6)

Ein Planer, der einen Basis-Terminplan erstellt, tippt jede Aktivität ein, verknüpft sie und belastet sie manuell mit Kosten aus der BOQ.
Dieser Skill erstellt den ersten Entwurf: eine Aktivität pro Gewerk pro Ort, Logik aus echten Terminplänen, BOQ-Geld auf jeder Aktivität, in einem XER, das P6 importiert. Der Planer bestimmt die Daten – der Entwurf ist das Skelett, das er korrigiert, keine Prognose.

Was benötigt wird

  • Eine bepreiste BOQ: .xlsx oder .csv mit Beschreibung + Menge + Betrag (oder Einheitspreis). Überschriften als Spalte oder als Textzeilen über den Zeilen, Positionsnummern (1, 1.2, 1.2.3) in Ordnung. Englische, portugiesische oder spanische Kopfzeilen.
  • Python 3 und data/rates.json (abgeleitete Sätze und Logik). Sonst nichts.

Arbeitsablauf (Claude führt jeden Schritt aus; der Planer genehmigt die Typisierung und beantwortet Fragen)

1. BOQ einlesen

py scripts/read_boq.py <boq.xlsx|.csv> --out outputs/<job>

Schreibt brief.csv (jede Zeile mit Kapitelpfad und Stichwortschätzung) und types.md (die Arbeitstypen und die Regeln für Schritt 2). Teilen Sie dem Benutzer die Zeilenanzahl, die Gesamtsumme und das verwendete Blatt/Spalten mit.
Wenn die Gesamtsumme nicht mit der eigenen Summe der BOQ übereinstimmt, anhalten und den Grund herausfinden, bevor etwas typisiert wird.

2. Jede Zeile typisieren (das ist Claudes Aufgabe, nicht die Stichwortschätzung) Lesen Sie types.md, dann lesen Sie ALLE brief.csv – Kapitel für Kapitel, seitenweise, wenn es lang ist. Schreiben Sie outputs/<job>/decisions.csv mit den Spalten key,type,locations,reason:

  • chapter=<Beginn des Kapitelpfads> deckt ein Kapitel ab (Groß-/Kleinschreibung und Akzente ignoriert); id~=<regex> deckt einen BOQ-Abschnitt nach Positionsnummer ab, wenn Kapitelnamen sich wiederholen (z.B. zwei Kapitel namens "TUBULACOES E CONEXOES"); eine Zeilen-ID deckt eine Zeile ab.
  • Allgemeine Regeln zuerst, Ausnahmen danach: eine spätere Regel überschreibt eine frühere; eine Zeilenregel gewinnt immer.
  • Stahlbeton: Schalung, Bewehrung und Beton eines Elements in den Elementtyp falten (Fundament, Stütze, Ringbalken, Decke), es sei denn, die BOQ berechnet sie als baustellenweite Gewerke.
  • Orte: immer angeben (leer lässt eine Zeile über jeden Ort verteilen, einschließlich der Baustelle). Gebäudegeschosse zuerst die unteren; Baustelleneinrichtung, Außenanlagen, Grundstücksmauer, Außentanks -> der Ort "Baustelle".
  • skip nur für Geld, das keine Baustellenarbeit ist, und begründen. Gemischte oder zweifelhafte Kapitel: den besten Typ wählen und "Planer kann splitten" in den Grund schreiben – diese kommen als Fragen zurück.
  • Vertrauen Sie der Stichwortschätzung nicht: sie liest falsch ("tapume com telha" -> Dach, "cabeamento" -> Decke, "aluminio" -> Licht).
py scripts/apply_types.py outputs/<job> --locations "Baustelle|EG|OG"

Stoppt bei unbekanntem Typ, unbekanntem Ort oder unentschiedener Zeile. Geldprüfung: typisiert + übersprungen = BOQ-Gesamtsumme.
Schreibt lines.csv und typing.md (Geld pro Gewerk, wer welche Zeile entschieden hat, Mengenwarnungen). Zeigen Sie dem Benutzer die Tabelle Geld pro Gewerk und die Warnungen; korrigieren und erneut ausführen, bis alles sauber ist.

3. Den Planer fragen

py scripts/questions.py outputs/<job> --start 2026-01-05

Erstellt einen unkalibrierten ersten Entwurf und schreibt questions.md + answers.json mit vorgeschlagenen Antworten. Stellen Sie dem Benutzer die Fragen in klaren Worten (AskUserQuestion eignet sich gut für die Ja/Nein-Fragen), dann füllen Sie answers.json:

FrageWarum wichtig
Startdatum, Arbeitswoche (5/6/7), WährungKalender und Währungsangabe in P6
Standorte, Baustelle, Layout (Geschosse gestapelt / separate Blöcke), welche parallel laufenDie Reihenfolge. Getestet: Die eigene Sequenzierungsstrategie des Entwurfs ist der Hauptgrund, warum echte Projekte abweichen
Vertragslaufzeit (Monate)Ohne sie war die Länge für 4-6 von 17 echten Projekten richtig (0,75-1,33x); mit ihr waren es 17 von 17
Drei bekannte Dauern (ein Rohbau, eine Hülle/Abschluss, ein Gewerk der Technischen Gebäudeausrüstung)Entwurfsdauern liegen bei einer Linie um ~2,25x daneben; drei Anker bringen sie auf ~1,76x und skalieren den Rest
Baustellenarbeiten früh oder nach dem Rohbau (Grundstücksmauer, Entwässerung, Tanks, Pflaster)Verschiebt echtes Geld; Bauunternehmer bauen die Mauer oft zuerst
Typisierungspunkte, die als "Planer kann splitten" markiert sindZeilen, die Claude platziert hat, die ein Planer aber möglicherweise splitten würde

Leere Antworten behalten die Vorgabe bei, und der Bericht sagt dies – erfinden Sie niemals eine Antwort für den Planer.

4. Bauen

py scripts/build.py outputs/<job>

Führt plan.py + export.py aus: schedule.json/.csv, report.md, schedule.xer.
Jede Aktivität trägt ihre BOQ-Zeilen-IDs und den Grund für ihre Dauer; jede Verknüpfung sagt, woher sie stammt (echte Terminpläne: n Verknüpfungen A->B, Standardreihenfolge, Antwort des Planers).

Import

  • P6: Datei > Importieren > Primavera PM (XER) > Neues Projekt erstellen, dann Extras > Planen (F9). Ausgaben erscheinen pro Aktivität als " BOQ " mit Menge, Einheit und Einheitspreis.

Nachweise (alle auf echten Daten, Leave-One-Out)

  • Typisierung: Hassan BOQ 22/22 Zeilen = die eigene Aktivität des Planers pro Zeile (Stichwortschätzung 15/22). Aracaju 643 Zeilen und Januaria 628 Zeilen typisiert, Geld auf den Cent genau.
  • Logik: 75-80 % der echten Verknüpfungen halten bei 17 zurückgehaltenen Terminplänen; Hassan 18/18.
  • P6: Der Entwurf XER importiert in P6 Professional 25 und plant auf die gleichen Daten wie die Engine.
  • Dauern: Medianfehler x2,25, mit drei Planerdauern x1,76.
  • Keine Cashflow-Prognose: Die monatliche Kurve des Entwurfs kam der echten nicht näher als eine Lehrbuch-S-Kurve. Sagen Sie dies immer, wenn jemand nach Cashflow oder Zeitplanung aus dem Entwurf fragt.

Grenzen

  • Nur Text-BOQs (keine gescannten PDFs). Eine Aktivität pro Gewerk pro Ort: der Planer splittet feiner.
  • Sätze und Logik stammen aus 73 Terminplänen, hauptsächlich Hochbauprojekte; Tiefbau/Infrastruktur ist ungetestet.
  • data/ wurde aus 73 öffentlich zugänglichen P6-Terminplänen abgeleitet (die rohen XERs sind nicht beigefügt).

Tests

py tests/smoke.py – das beigefügte Beispiel (öffentliche Januaria-Ausschreibungs-BOQ, 628 Zeilen) durch Typisierung, Fragen, Bau und P6 XER: Zeilen, Geld auf den Cent, Tabellen, Aufgaben, Ausgaben, Verknüpfungen, Projektkalender. Nach jeder Änderung ausführen.
Die Entwicklungstests (3 echte BOQs, 17 zurückgehaltene Terminpläne, der P6-Import-Check) verwendeten Dateien, die nicht beigefügt sind.

Verwandte Skills