analyst
無料분석팀 에이전트. 입찰 제안서(RFP) 또는 마케팅 제안서(마케팅 플랜) 분석. PDF 분석 또는 사용자 브리핑 수집. 프로젝트 메타데이터, Pain Point, 평가기준 배점, 프로젝트 유형을 추출합니다. 트리거: RFP 분석, 제안요청서 분석, PDF 분석, Pain Point, 평가기준, 마케팅 분석, 마케팅 플랜
日本語の概要は準備中です。原文の説明を表示しています。
RFP(제안요청서) 분석 및 입찰 제안서 자동 생성 (PPTX / HTML+Figma). 사용자가 "제안서", "제안요청서", "RFP", "입찰", "PPTX 생성", "slide_kit", "테스트 폴더", "제안서 만들어", "제안서 제작", "proposal", "HTML 제안서", "Figma 제안서" 등을 언급할 때 활성화.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
RFP 문서를 분석하여 Impact-8 구조의 전문 입찰 제안서를 자동 생성합니다.
| 모드 | 커맨드 | 파이프라인 | 결과물 |
|---|---|---|---|
| PPTX (기본) | /proposal 테스트 XX --format pptx | slide_kit.py → PPTX | .pptx 파일 |
| Figma | /proposal 테스트 XX --format figma | slide_kit_html.py → HTML → Gemini → Figma | .html + Figma |
프로젝트 루트: <PROJECT_ROOT>
RFP 입력: 제안요청서/테스트 XX/ (PDF 파일들)
출력: output/테스트 XX/ (생성 스크립트 + 결과물)
slide_kit PPTX: src/generators/slide_kit.py
slide_kit HTML: src/generators/slide_kit_html.py
html_enhancer: src/generators/html_enhancer.py
figma_exporter: src/generators/figma_exporter.py
pipeline: src/orchestrators/pipeline.py (후처리: Gemini + Figma)
--format: pptx (기본) 또는 figma--theme: default, corporate, warm, nature, creative제안요청서/{폴더명}/ → 출력: output/{폴더명}/PDF 읽기 → 추출:
generate_제안서.pyimport sys; sys.path.insert(0, "<PROJECT_ROOT>")
from src.generators.slide_kit import *
prs = new_presentation()
WIN = {"data": "...", "story": "...", "ugc": "..."}
slide_cover(prs, "프로젝트명", "발주처명")
slide_toc(prs, "목차", [("01", "HOOK", "설명"), ...], pg=2)
# Phase별 섹션 구분자 + 콘텐츠 슬라이드들
slide_section_divider(prs, "01", "SUMMARY", "부제", "스토리", "data", WIN)
s = new_slide(prs)
bg(s, C["white"])
TB(s, "Action Title — 인사이트 기반 제목", pg=3)
v = VStack()
HIGHLIGHT(s, "핵심 메시지", y=v.next(Inches(0.75)))
# ...
slide_closing(prs, "감사합니다", project_title="프로젝트명")
save_pptx(prs, "output/{폴더명}/제안서.pptx")
PPTX 핵심: 모든 함수의 첫 인자가 prs 또는 s (슬라이드 객체). Inches() 좌표계.
generate_제안서_html.pyimport sys; sys.path.insert(0, "<PROJECT_ROOT>")
from src.generators.slide_kit_html import *
slides = []
WIN = {"data": "...", "story": "...", "ugc": "..."}
slides.append(slide_cover("프로젝트명", "발주처명"))
slides.append(slide_toc("목차", [("01", "HOOK", "설명"), ...]))
# Phase별 섹션 구분자 + 콘텐츠 슬라이드들
slides.append(slide_section_divider("01", "SUMMARY", "부제", "스토리", "data", WIN))
parts = []
parts.append(TB("Action Title — 인사이트 기반 제목"))
parts.append(HIGHLIGHT("핵심 메시지", y=Z["ct_y"]))
slides.append(new_slide("".join(parts), bg(C["white"])))
# ...
slides.append(slide_closing("감사합니다", client="발주처명"))
html = render_presentation(slides, title="프로젝트명")
save_html(html, "output/{폴더명}/proposal.html")
# 후처리
from src.orchestrators.pipeline import PostProcessor
import asyncio
post = PostProcessor()
result = asyncio.run(post.run("output/{폴더명}/proposal.html", format="figma"))
HTML 핵심: prs/s 인자 없음 (HTML 문자열 반환). px 좌표계. new_slide(parts, bg_color).
cd "<PROJECT_ROOT>"
python3 "output/{폴더명}/generate_제안서.py" # PPTX
python3 "output/{폴더명}/generate_제안서_html.py" # Figma
오류 시 수정 반복. 완료 시 open 명령으로 파일 열기.
| 항목 | PPTX (slide_kit.py) | HTML (slide_kit_html.py) |
|---|---|---|
| 첫 인자 | prs 또는 s (객체) | 없음 (문자열 반환) |
| 좌표 | Inches (예: Inches(1.1)) | px (예: 158) |
| 변환 | — | px = inches × 144 |
| 색상 | C["primary"] (RGBColor) | C["primary"] (HEX "#002C5F") |
| 새 슬라이드 | s = new_slide(prs) | new_slide(parts, bg_color) |
| 저장 | save_pptx(prs, path) | render_presentation() + save_html() |
| VStack gap | 0.2 (inches) | 29 (px) |
| 기본 폰트 크기 | sz=13 (pt) | sz=17 (px) |
SW=1920 SH=1080 ML=115 MR=115 CW=1690
Z["ct_y"]=158 Z["ct_b"]=936 GAP=29 CGAP=22
| Phase | 이름 | 비중 | 장수 |
|---|---|---|---|
| 0 | HOOK (표지+목차+티저) | 5% | 3-10p |
| 1 | SUMMARY (Executive Summary) | 5% | 3-5p |
| 2 | INSIGHT (시장+문제) | 10% | 8-15p |
| 3 | CONCEPT & STRATEGY | 12% | 8-15p |
| 4 | ACTION PLAN (핵심) | 40% | 30-60p |
| 5 | MANAGEMENT (조직+운영) | 10% | 6-12p |
| 6 | WHY US (역량+실적) | 12% | 8-15p |
| 7 | INVESTMENT & ROI | 6% | 4-8p |
총 40~80장
| 콘텐츠 유형 | 권장 함수 |
|---|---|
| 시장 환경/배경 분석 | COLS() |
| 핵심 인사이트/메시지 | HIGHLIGHT() |
| 전략 프레임워크 | PYRAMID() |
| 채널/항목 비교 | COMPARE() |
| 실행 프로세스 | FLOW() |
| KPI/성과 목표 | KPIS() |
| 월별 일정 | GANTT_CHART() |
| 조직도 | ORG() |
| 수행 실적 | GRID() |
| 데이터 비교 | TABLE() |
| 통계/수치 강조 | STAT_ROW() |
| 타임라인 | TIMELINE() |
| 차별화 포인트 | ICON_CARDS() |
| 매트릭스 | MATRIX() |
| 인용문 | QUOTE() |
| 예산/비율 | PIE_CHART() / BAR_CHART() |
| 추세/성장 | LINE_CHART() |
| 고급 카드 | CARD() |
C["primary"] 사용FONT 상수 사용[대괄호] 형식まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
분석팀 에이전트. 입찰 제안서(RFP) 또는 마케팅 제안서(마케팅 플랜) 분석. PDF 분석 또는 사용자 브리핑 수집. 프로젝트 메타데이터, Pain Point, 평가기준 배점, 프로젝트 유형을 추출합니다. 트리거: RFP 분석, 제안요청서 분석, PDF 분석, Pain Point, 평가기준, 마케팅 분석, 마케팅 플랜
日本語の概要は準備中です。原文の説明を表示しています。
캠페인 브레인스토밍 에이전트. 3인 전문가 에이전트(전략가/크리에이터/데이터분석가)가 개별 브레인스토밍 후 크로스리뷰 토론으로 최적안을 도출합니다. campaign_brief.md 생성 → 제안서 파이프라인(Step 3)으로 연계. 트리거: 브레인스토밍, 캠페인 기획, 아이디어, brainstorm, 캠페인 전략, 크리에이티브
日本語の概要は準備中です。原文の説明を表示しています。
Converter 에이전트 v7.0. 승인된 proposal_script.md + visualization_strategy.md를 Gemini 슬라이드 디자인 요청용 proposal_slides.json (v2.0)으로 변환합니다. SPARK-6 구조, S-E-P, 40종 레이아웃, design_intent, gemini_instructions를 포함합니다. 트리거: JSON 변환, convert, proposal_slides.json, Gemini 디자인, 스크립트 변환, 제미나이
日本語の概要は準備中です。原文の説明を表示しています。
디자인 레퍼런스 분석 에이전트. 디자인 레퍼런스/ 폴더의 PDF, JPG, PPTX 파일을 분석하여 컬러 팔레트, 레이아웃 패턴, 도식 스타일, 분위기 리듬을 추출합니다. 출력: design_analysis.md. 트리거: 디자인 분석, 레퍼런스 분석, design analysis, 디자인 레퍼런스
日本語の概要は準備中です。原文の説明を表示しています。
제안서 디자인 에이전트. 승인된 proposal_script.md를 generate_제안서.py Python 코드로 변환합니다. slide_kit.py 함수 시그니처, VStack 레이아웃 계산, 7대 디자인 패턴, 겹침/넘침 방지, Dark-Light Rhythm을 적용합니다. 트리거: 디자인, 코드 생성, 레이아웃, VStack, slide_kit, 겹침, 넘침, COLS, GRID, FLOW, CHART, TABLE, HIGHLIGHT, KPIS, COMPARE, TIMELINE, PYRAMID, MATRIX, 그림자, 카드, Hero, Bento, Comparison
日本語の概要は準備中です。原文の説明を表示しています。
PM (총괄) 오케스트레이터 v9.0. 제안서 팀을 이끌어 8-Step 파이프라인을 실행합니다. 입찰 제안서(RFP) + 마케팅 제안서 + 캠페인 브레인스토밍 지원. Step 0 출력 형식 분기 + 4개 병렬 리서치 + 7개 전문 QA. 트리거: 제안서 생성, 제안서 제작, /p, /start, /pf, generate, 스크립트 작성
日本語の概要は準備中です。原文の説明を表示しています。