Community생산성 & 협업github.com

hamzaabduljabbar/boq-schedule

가격이 포함된 물량 산출서(BOQ)를 Primavera P6(XER)로 가져올 수 있는 초안 비용 탑재 공정표로 변환합니다. 공종 및 위치별 활동, 73개의 실제 P6 일정에서 학습된 로직, 모든 활동에 BOQ 금액과 수량이 포함됩니다.

boq-schedule란 무엇인가요?

이 스킬은 건설 프로젝트 관리자가 가격이 포함된 BOQ(물량 산출서)를 Primavera P6 프로젝트 관리 소프트웨어로 가져올 수 있는 초안 공정표로 자동 변환합니다. Claude가 BOQ의 각 라인(영어, 포르투갈어, 스페인어 지원)을 읽고 공종과 위치를 분류하며, 73개의 실제 P6 일정에서 추출한 로직을 기반으로 활동 간 연결 관계를 생성합니다. 모든 활동에는 해당 BOQ 라인의 금액과 수량이 포함되어 비용이 탑재된 일정이 만들어집니다. 사용자는 Claude가 제시하는 질문(시작일, 계약 기간, 위치, 알려진 기간 등)에 답변하기만 하면 되며, 최종적으로 Primavera P6에서 바로 가져와 사용할 수 있는 XER 파일이 생성됩니다. 이 스킬은 기존 일정이 없는 상태에서 기준 일정을 처음 작성하거나, BOQ만 있고 공정표가 필요할 때 특히 유용합니다. 다만 기존 일정에 BOQ를 탑재하는 용도(p6-cost-loader 사용)나 현금 흐름 예측에는 적합하지 않습니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hamzaabduljabbar/autoConst-boq-schedule/tree/HEAD

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

BOQ → 초안 일정 (Primavera P6)

플래너가 기준 일정을 시작할 때 모든 활동을 수동으로 입력하고, 연결하고, BOQ에서 비용을 탑재합니다. 이 스킬은 그 첫 번째 초안을 작성합니다: 공종별, 위치별로 하나의 활동, 실제 일정에서 학습한 로직, 모든 활동에 BOQ 금액이 포함된 XER 파일을 생성하여 P6에서 가져올 수 있습니다. 플래너가 날짜를 결정합니다 - 초안은 예측이 아니라 수정해야 할 뼈대입니다.

필요한 것

  • 가격이 포함된 BOQ: .xlsx 또는 .csv 형식, 설명 + 수량 + 금액(또는 단가) 포함. 헤더는 열 또는 라인 위의 텍스트 행으로, 항목 번호(1, 1.2, 1.2.3)도 괜찮습니다. 영어, 포르투갈어 또는 스페인어 헤더.
  • Python 3 및 data/rates.json (마이닝된 단가와 로직). 그 외에는 없습니다.

워크플로우 (Claude가 모든 단계를 실행하며, 플래너는 분류를 승인하고 질문에 답변)

1. BOQ 읽기

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

brief.csv (각 라인과 해당 장 경로 및 키워드 추정) 및 types.md (작업 유형 및 2단계 규칙)를 작성합니다. 사용자에게 라인 수, 합계, 사용된 시트/열을 알립니다. 합계가 BOQ 자체 합계와 일치하지 않으면 중지하고 분류 전에 이유를 찾습니다.

2. 모든 라인 분류 (Claude의 작업, 키워드 추정이 아님) types.md를 읽은 다음 brief.csv 전체를 읽습니다 - 장별로, 길면 페이지 단위로. outputs/<job>/decisions.csv를 열 key,type,locations,reason로 작성합니다:

  • chapter=<장 경로 시작>은 장을 포함합니다 (대소문자/악센트 무시); id~=<정규식>은 항목 번호로 BOQ 섹션을 포함합니다 (예: "TUBULACOES E CONEXOES"라는 두 장 모두); 라인 id는 하나의 라인을 포함합니다.
  • 일반 규칙 먼저, 예외는 나중에: 나중 규칙이 이전 규칙을 재정의합니다. 라인 규칙이 항상 우선합니다.
  • 철근 콘크리트: 하나의 요소에 대한 거푸집, 철근 및 타설을 해당 요소의 유형(기초, 기둥, 연결보, 슬래브)으로 접습니다. 단, BOQ가 이를 공종별 작업으로 가격 책정한 경우는 예외입니다.
  • 위치: 항상 설정합니다 (공백은 사이트를 포함한 모든 위치에 라인을 분산). 건물 층은 낮은 순서로; 사이트 설정, 외부 작업, 경계 벽, 외부 탱크 -> 사이트 위치.
  • skip은 현장 작업이 아닌 금액에만 사용하고 이유를 명시합니다. 혼합 또는 불확실한 장: 가장 좋은 유형을 선택하고 이유에 "플래너가 분할할 수 있음"을 작성합니다 - 이는 질문으로 다시 돌아옵니다.
  • 키워드 추정을 신뢰하지 마십시오: 잘못 읽습니다 ("tapume com telha" -> 지붕, "cabeamento" -> 슬래브, "aluminio" -> 조명).
py scripts/apply_types.py outputs/<job> --locations "Site|GF|FF"

알 수 없는 유형, 알 수 없는 위치 또는 결정되지 않은 라인이 있으면 중단됩니다. 금액 확인: 분류 + 건너뜀 = BOQ 합계. lines.csv 및 typing.md (공종별 금액, 각 라인을 결정한 사람, 단위 경고)를 작성합니다. 사용자에게 공종별 금액 표와 경고를 표시합니다. 깨끗해질 때까지 수정하고 다시 실행합니다.

3. 플래너에게 질문

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

보정되지 않은 첫 번째 초안을 작성하고 questions.md + answers.json을 제안된 답변과 함께 작성합니다. 질문을 일반 언어로 사용자에게 제시하고 (AskUserQuestion은 예/아니오 질문에 잘 작동합니다), 그런 다음 answers.json을 채웁니다:

질문중요한 이유
시작일, 작업 주(5/6/7), 통화P6의 달력 및 금액 통화
위치, 사이트, 레이아웃(층별 적층 / 별도 블록), 병렬 실행 여부순서. 테스트됨: 초안의 자체 시퀀싱 전략이 실제 작업의 주요 차이점
계약 기간(개월)이 정보 없이 기간이 정확했음 (0.75-1.33x) 실제 작업 17개 중 4-6개; 포함 시 17개 모두 정확
알고 있는 세 가지 기간 (하나의 구조, 하나의 외피/마감, 하나의 설비 공종)초안 기간은 라인당 ~2.25배 차이; 세 가지 기준점이 ~1.76배로 줄이고 나머지 조정
현장 작업이 구조물보다 먼저인지 나중인지 (경계 벽, 배수, 탱크, 포장)실제 금액 이동; 계약자는 종종 벽을 먼저 시공
"플래너가 분할할 수 있음"으로 표시된 분류 지점Claude가 배치했지만 플래너가 분할할 수 있는 라인

빈 답변은 기본값을 유지하고 보고서에 명시합니다 - 플래너를 위해 답변을 임의로 만들지 마십시오.

4. 빌드

py scripts/build.py outputs/<job>

plan.py + export.py 실행: schedule.json/.csv, report.md, schedule.xer. 모든 활동은 BOQ 라인 ID와 기간 이유를 전달합니다. 모든 연결은 출처를 명시합니다 (실제 일정: n개 링크 A->B, 기본 순서, 플래너의 답변).

가져오기

  • P6: 파일 > 가져오기 > Primavera PM (XER) > 새 프로젝트 생성, 그런 다음 도구 > 일정 (F9). 비용은 활동당 " BOQ "로 수량, 단위 및 단가와 함께 표시됩니다.

증거 (모든 실제 데이터, leave-one-out 방식)

  • 분류: Hassan BOQ 22/22 라인 = 플래너 자체 활동당 라인 (키워드 추정 15/22). Aracaju 643 라인 및 Januaria 628 라인 분류, 금액 정확.
  • 로직: 실제 링크의 75-80%가 보류된 17개 일정에서 유지됨; Hassan 18/18.
  • P6: 초안 XER이 P6 Professional 25로 가져와져 엔진과 동일한 날짜로 일정이 작성됨.
  • 기간: 중앙값 오차 x2.25, 플래너의 세 가지 기간 포함 시 x1.76.
  • 현금 흐름 예측 아님: 초안의 월별 곡선은 교과서 S-곡선보다 실제 곡선에 가깝지 않았습니다. 누군가가 초안에서 현금 흐름이나 시기에 대해 물을 때마다 이를 언급하십시오.

한계

  • 텍스트 BOQ만 해당 (스캔된 PDF 불가). 공종별 위치별 하나의 활동: 플래너가 더 세분화.
  • 단가와 로직은 73개의 일정(대부분 건물 공사)에서 추출됨; 토목/인프라는 테스트되지 않음.
  • data/는 73개의 공개 P6 일정에서 마이닝됨 (원시 XER은 번들에 포함되지 않음).

테스트

py tests/smoke.py - 번들된 예제 (공개 Januaria 입찰 BOQ, 628 라인)를 분류, 질문, 빌드 및 P6 XER을 통해 테스트: 라인, 정확한 금액, 표, 작업, 비용, 링크, 프로젝트 달력. 변경 후 실행. 개발 테스트 (3개의 실제 BOQ, 17개의 보류 일정, P6 가져오기 확인)는 번들에 포함되지 않은 파일을 사용했습니다.

관련 스킬