Skip to content

Leesaehan/claudecode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PPT Generator - Claude Skill

PowerPoint 프레젠테이션을 자동으로 생성하는 Claude Code skill입니다.

기능

  • JSON 형식으로 슬라이드 구조를 정의
  • 다양한 슬라이드 레이아웃 지원 (타이틀, 컨텐츠, 2열 등)
  • Python 스크립트를 통한 자동 PPT 생성
  • Claude와 대화하며 프레젠테이션 작성 가능

설치

1. 저장소 클론

git clone <repository-url>
cd claudecode

2. Python 의존성 설치

pip install -r requirements.txt

또는

pip install python-pptx

사용 방법

Claude Skill 사용

Claude Code에서 다음과 같이 skill을 호출할 수 있습니다:

/skill ppt

그 후 원하는 프레젠테이션 내용을 Claude에게 설명하면, Claude가 자동으로 JSON을 생성하고 PPT 파일을 만들어줍니다.

직접 사용

1. JSON 파일 작성

presentation.json 파일을 생성합니다:

{
  "metadata": {
    "title": "나의 프레젠테이션",
    "subtitle": "Claude로 만든 PPT"
  },
  "slides": [
    {
      "type": "content",
      "title": "소개",
      "content": [
        "첫 번째 포인트",
        "두 번째 포인트",
        "세 번째 포인트"
      ]
    },
    {
      "type": "two_column",
      "title": "비교",
      "left": ["항목 1", "항목 2"],
      "right": ["설명 1", "설명 2"]
    }
  ]
}

2. PPT 생성

python src/ppt_service/ppt_generator.py presentation.json output.pptx

3. 예제 보기

# 예제 JSON 구조 보기
python src/ppt_service/ppt_generator.py --example

# 예제 JSON 파일 생성
python src/ppt_service/ppt_generator.py --example > example.json

# 예제로 PPT 생성
python src/ppt_service/ppt_generator.py example.json example.pptx

JSON 구조

메타데이터

{
  "metadata": {
    "title": "프레젠테이션 제목",
    "subtitle": "부제목 (선택사항)"
  }
}

슬라이드 타입

Content Slide (컨텐츠 슬라이드)

{
  "type": "content",
  "title": "슬라이드 제목",
  "content": [
    "불릿 포인트 1",
    "불릿 포인트 2",
    "불릿 포인트 3"
  ]
}

Two Column Slide (2열 레이아웃)

{
  "type": "two_column",
  "title": "슬라이드 제목",
  "left": [
    "왼쪽 내용 1",
    "왼쪽 내용 2"
  ],
  "right": [
    "오른쪽 내용 1",
    "오른쪽 내용 2"
  ]
}

Blank Slide (빈 슬라이드)

{
  "type": "blank"
}

프로젝트 구조

claudecode/
├── .claude/
│   └── skills/
│       └── ppt.md          # Claude skill 정의
├── src/
│   └── ppt_service/
│       ├── __init__.py
│       └── ppt_generator.py # PPT 생성 로직
├── requirements.txt         # Python 의존성
├── .gitignore
└── README.md

예제

간단한 프레젠테이션

{
  "metadata": {
    "title": "프로젝트 소개",
    "subtitle": "2024년 1분기"
  },
  "slides": [
    {
      "type": "content",
      "title": "프로젝트 개요",
      "content": [
        "목표: 고객 만족도 향상",
        "기간: 2024년 1월 - 3월",
        "팀원: 5명"
      ]
    },
    {
      "type": "two_column",
      "title": "주요 성과",
      "left": [
        "성과 1: 사용자 증가 20%",
        "성과 2: 응답시간 개선 30%"
      ],
      "right": [
        "방법: UI/UX 개선",
        "방법: 서버 최적화"
      ]
    },
    {
      "type": "content",
      "title": "다음 단계",
      "content": [
        "모바일 앱 출시",
        "AI 기능 추가",
        "글로벌 확장"
      ]
    }
  ]
}

라이선스

MIT License

기여

이슈와 PR을 환영합니다!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages