Community연구 & 데이터 분석github.com

TheCreepero/event-pack-create

이벤트 팩 제작 또는 기존 팩에 새 이벤트 추가를 계획합니다. 하위 에이전트를 통한 리서치, 라이선스 확인을 포함한 이미지 검색, 출처가 확인된 사실 시트를 기반으로 작성되고 독립 편집자의 검토를 통과한 이벤트 텍스트, 그리고 실행 가능한 READY 계획을 docs/plans에 생성합니다. 생성된 계획은 event-pack-implement가 실행합니다.

event-pack-create란 무엇인가요?

이 스킬은 Paradox Interactive 게임 Hearts of Iron IV의 Event Pack 모드를 제작하거나 확장하기 위한 완전한 계획 수립 워크플로우를 제공합니다. 개발자는 이 스킬을 사용하여 국가별 이벤트 팩을 처음부터 만들거나 기존 팩에 새로운 이벤트를 추가할 수 있습니다. 스킬은 여러 단계(Phase 0~6)로 구성된 체계적인 프로세스를 따릅니다. 주요 기능으로는 사용자와의 협의를 통한 범위 설정, 역사적 리서치 에이전트('ep-historical-researcher')를 통한 사실 수집, 이미지 리서치 에이전트('ep-picture-researcher')를 사용한 저작권 준수 이미지 검색(CC0/PD 선호), 감사 에이전트('ep-audit-researcher')를 통한 모든 사실의 출처 검증, 트리거 체커 에이전트('trigger-checker')를 사용한 게임 내 이벤트 조건 검증, 편집 에이전트('ep-editor')를 통한 텍스트 품질 관리가 포함됩니다. 워크플로우는 철저한 문서화를 강조하여, 리서치 파일('research/<key>/')과 계획 파일('docs/plans/')을 유지하며 최종적으로 실행 가능한 READY 상태의 계획을 생성합니다. 모든 결정은 추적 가능하며, 각 사진의 라이선스는 도구('build.ps1 -FetchPicture -DryRun')를 통해 확인되고 모든 텍스트는 독립 편집자를 통과해야 합니다. 생성된 계획은 'event-pack-implement' 스킬이 실제로 구현합니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/TheCreepero/event-packs/tree/HEAD/.agents/skills/event-pack-create

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

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

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

문서

Event Pack: 팩 생성 또는 이벤트 추가

팩 또는 새 이벤트에 대한 모든 텍스트, 효과 및 그림을 하나의 계획 파일로 계획하며, event-pack-implement 스킬이 이 계획을 실행합니다. Phase 4를 시작하기 전에 docs/source-format.md와 docs/style-guide.md를 읽으십시오.

규칙

  • 모든 사실은 해당 페이지에서 검증됩니다. 사실은 Phase 3a의 KEEP 또는 FIX 결과로만 사실 시트에 입력되며, 출처와 인용문이 함께 제공됩니다. 확인된 페이지에 명시되지 않은 세부 사항은 아무리 그럴듯해도 텍스트에 포함되지 않습니다.
  • 라이선스는 도구의 결정에 따릅니다. build.ps1 -FetchPicture ... -DryRun이 ACCEPTED를 출력한 경우에만 그림이 계획에 포함됩니다.
  • 편집자는 모든 텍스트를 승인합니다. 편집자가 최신 검토에서 KEEP을 반환하지 않은 이벤트가 포함된 계획은 READY 상태가 될 수 없습니다.
  • 출시된 팩은 여기서 수정되지 않습니다. 이 스킬은 계획, research/<key>/ 아래의 자료 파일 및 scratch/ 아래의 파일만 작성합니다. source/와 packs/는 계획이 구현될 때 변경됩니다. 유일한 예외는 완전히 새로운 팩을 위한 -NewPack(Phase 0)이며, 팩 자체의 썸네일은 구현 단계(Phase 3, 단계 5)에서 제작됩니다.
  • 자료 파일은 유지됩니다. 모든 자료 파일은 research/<key>/에 남아 있으며, 계획이 취소되더라도 절대 삭제되거나 정리되지 않습니다. 선택되지 않은 후보와 사용되지 않은 사실은 향후 팩 확장의 기반이 됩니다. 여기에 추가되는 유일한 내용은 Phase 5.4의 Used: 및 Checked: 줄입니다. 계획이 출시될 때 또는 소유자의 지시에 따라 계획과 함께 커밋됩니다.
  • Phase 0 및 Phase 2의 질문만 소유자에게 문의하십시오.

Phase 0: 범위 설정

  1. 소유자에게 한 번의 메시지로 다음을 문의하십시오: 국가(태그가 명확하지 않은 경우 태그 포함), 기간(기본값: 1936년부터 해당 국가의 전쟁 시작 시점까지, 그리고 첫 몇 달), 이벤트 수(기본값 10~15개), 강조하거나 피해야 할 유형, 팩이 다루지 말아야 할 사항. 답변을 계획의 "Decisions" 섹션에 기록하십시오.
  2. 새 팩의 경우: hoi4-vanilla-lookup 스킬(Get-HoiCountry)로 태그를 확인한 후, powershell -File .\build.ps1 -NewPack -Pack <key> -Tag <TAG> -DisplayName "<Country>"를 실행하십시오. 이 명령은 Modding Manager의 New-HoiThumbnail.ps1을 사용하여 기본 로딩 화면 위에 첫 번째 썸네일을 렌더링합니다(실행할 수 없는 경우 assets/thumbnail_master.png를 복사하고 명령어를 출력합니다). 이 썸네일은 Phase 3에서 교체됩니다. source/<key>/workshop-intro.bbcode를 작성하십시오: 팩에 대한 간단한 두세 문장과 -NewPack이 초안한 정보 줄을 포함합니다.
  3. docs/plans/TEMPLATE-pack.md를 docs/plans/<YYYY-MM-DD>-<key>-<what>.md로 복사하고 헤더, "Context" 및 "Decisions"를 채우십시오. 기존 팩의 경우: 마지막 이벤트 ID를 기록하고 새 ID는 이어서 시작합니다.

Phase 1: 리서치

  1. research/<key>/가 존재하면 해당 자료 파일을 읽으십시오. Used: 표시가 없고 기간과 유형에 맞는 후보는 이번 계획의 후보가 될 수 있습니다. 해당 키를 기록하십시오. Checked: 줄이 있는 후보는 해당 페이지에서 확인되었으며, 그 아래에 작성된 사실이 아닌 가장 최근 Checked: 줄에 명명된 장소를 기준으로 평가하십시오. 사실 시트에는 확인된 모든 사실이 포함됩니다. 계획의 "Fact verification" 섹션에는 수정 및 삭제된 사실만 포함되므로, 여기에 명명되지 않은 자료 파일의 사실은 유지된 것으로 간주됩니다. 선택된 경우에도 Phase 3a를 거쳐야 합니다.
  2. 필요한 후보 수: 원하는 이벤트 수의 약 1.5배에서 이전에 사용 가능한 후보 수를 뺀 값입니다. 최대 12개의 후보로 구성된 그룹으로 나누고, 각 그룹이 기간의 일부를 담당하도록 합니다(예: 30개의 경우 1936, 1937-1938, 1939-1940). 각 그룹에 대해 ep-historical-researcher를 병렬로 파견하십시오. 각 에이전트에는 국가, 태그, 기간 범위, 후보 수, Phase 0의 유형, 팩의 기존 이벤트 제목, 이전 자료 파일의 모든 후보(키, 날짜, 한 줄 설명 포함), 그리고 해당 경로 research/<key>/<YYYY-MM-DD>-dossier.md(같은 날짜에 이미 파일이 있는 경우 -2 등을 추가)를 제공하십시오. 모든 요약을 기다리십시오.

Phase 2: 선택

새로운 자료 파일을 읽으십시오. 핵심 사실이 UNVERIFIED인 후보, 인용된 사실로 40단어를 채울 수 없는 후보, 또는 다른 그룹의 후보와 중복되는 후보는 삭제하십시오. 나머지 후보를 사용 가능한 이전 후보와 함께 소유자에게 보여주십시오. 간단한 목록(키, 날짜, 유형, 게이트: 날짜 범위 또는 게임 상태, 한 줄 설명)과 함께 유지 권장 사항과 이유를 제시하고 소유자의 선택을 받으십시오.

Phase 3: 그림

  1. 선택된 이벤트와 함께 ep-picture-researcher를 파견하십시오: 키, 날짜, 장소 및 자료 파일의 그림 아이디어를 포함합니다.
  2. 각 이벤트에 대해 첫 번째 제안에 대해 powershell -File .\build.ps1 -FetchPicture -Pack <key> -File "<File:...>" -Key <picture key> -DryRun을 실행하십시오. REJECTED인 경우 다음 제안을 시도하십시오. 허용된 파일이 없는 이벤트는 기본 게임 그림(vanilla:GFX_report_event_<name>, hoi4-vanilla-lookup 스킬의 Find-HoiUsage로 찾음)을 사용하고 계획에 메모를 추가하십시오.
  3. 그림의 톤과 자르기를 선택하십시오: 흑백 사진의 경우 warm(게임 자체 그림과 일치), 컬러 아트의 경우 none; 연구원의 자르기 메모가 요청하는 경우에만 50이 아닌 다른 자르기 값을 사용하십시오.
  4. 드라이 런에서 출력된 내용으로 계획의 "Pictures" 테이블을 채우십시오.
  5. 새 팩 또는 assets/thumbnail.json에 packs.<key>.background가 없는 팩의 썸네일: 배경은 기본 게임 로딩 화면이 아닌 팩 자체 이벤트 그림 중 하나여야 합니다. Modding Manager의 New-HoiThumbnail.ps1은 고정된 Event Pack 레이아웃(게임 테두리, 하단 타이틀 플레이트의 "EVENT PACK" 및 국가명, 오른쪽 상단의 팩 태그 국기)으로 나머지를 그리므로, 그림과 자르기만 선택하면 됩니다. ACCEPTED를 출력한 그림 중 PD 또는 CC0 라이선스를 우선 선택하고, CC BY도 허용됩니다. 생성된 Workshop 설명은 이벤트가 사용하는 모든 그림의 출처를 표시하기 때문입니다. 그림과 피사체의 위치를 살펴보십시오: 플레이트는 정사각형의 아래쪽 약 1/3을 덮고 국기는 오른쪽 상단 모서리를 덮으므로, 피사체가 위쪽 중간에 위치할 수 있는 그림을 선호하십시오. 가로 그림은 정사각형의 전체 높이를 채우므로 자르기("center", "left", "right")는 좌우로만 이동합니다. 세로 그림은 너비를 채우며, "top" 또는 "bottom"으로 피사체를 유지할 수 있습니다. [x, y] 중심 비율을 사용하여 그 사이에 배치할 수 있습니다. Thumbnail: <picture key>, crop <crop>을 작성하고 "Implementation steps"의 단계 4를 그림 키, 자르기(JSON 형식), 그리고 Modding Manager의 절대 경로(<Manager root>, 이 리포지토리보다 두 단계 위 폴더)로 채우십시오. 명령어는 -Path .를 사용하므로, Phase 5 리허설은 복사본에서만 렌더링하고 기록합니다. 드라이 런은 아무것도 다운로드하지 않으므로, 썸네일은 구현 단계(단계 3 이후)에서 -FetchPicture가 sources-cache/<key>/에 저장하는 복사본(Commons 렌더링, 최대 1600px 너비)으로 제작되며, 210x176 DDS 파일을 사용하지 않습니다. 이미 자체 썸네일이 있는 팩: Thumbnail: unchanged를 작성하고 단계 4를 Thumbnail unchanged: nothing to run.로 설정하여 단계 번호가 유지되도록 하십시오.

Phase 3a: 검증

소유자의 선택 후에 실행되며, 원하는 경우 Phase 3과 동시에 실행됩니다. 연구원의 인용문은 확인이 아닌 단서일 뿐입니다.

  1. 선택된 이벤트에 대해 ep-audit-researcher를 파견하십시오. 에이전트당 최대 5개의 이벤트를 할당하고 모두 병렬로 실행하십시오. 각 이벤트의 자료 파일 섹션 전체를 붙여넣고 그림은 보내지 마십시오.
  2. KEEP 및 FIX 사실만 계속 진행되며, 각 사실에는 검증자가 반환한 출처와 인용문이 포함됩니다. 검증된 세부 정보가 40단어 미만인 이벤트는 Phase 2로 돌아가 교체되며, 교체된 이벤트도 Phase 3a를 다시 거쳐야 합니다.
  3. 계획의 "Fact verification" 섹션을 채우십시오: 에이전트 및 에이전트당 이벤트. 검증된 각 이벤트(교체된 이벤트 포함)에 대해 KEEP, FIX 및 DROP 횟수, 수정된 각 사실과 그 수정 내용, 삭제된 각 사실, 교체된 이벤트를 기록합니다.

Phase 4: 작성

  1. Phase 3a의 결과만을 사용하여 계획의 markdown fact-sheets 블록에 각 선택된 이벤트의 섹션을 작성하십시오. 각 사실 줄은 - <fact>. Source: <URL> (<page title>). Quote: «<line from the page>» 형식을 따릅니다. 자료 파일의 사실을 그대로 복사하지 마십시오.
  2. 이벤트를 json events 블록에 작성하십시오. 기존 팩의 경우 현재 source/<key>/events.json에서 시작하여 추가하십시오. 모든 필드는 docs/source-format.md를 따르고 모든 텍스트는 docs/style-guide.md를 따르십시오. 효과는 작고 해당 옵션과 일치해야 합니다. 시간 제한 아이디어는 이벤트가 그럴 가치가 있는 경우에만 사용하십시오. 편집자가 적용하는 세 가지 규칙:
    • 하나의 인용문이 결합된 주장을 명시하지 않는 한, 두 사실을 결합하여 주장을 만들지 마십시오.
    • 칭호와 역할은 이벤트 날짜 당시의 것이어야 하며, 이후에 변경된 것이 아니어야 합니다.
    • 텍스트는 fire 창의 모든 날짜에 대해 사실이어야 합니다. 텍스트에서 최근 또는 곧 있을 것이라고 언급한 내용이 창의 다른 날짜에는 이미 지났거나 아직 발생하지 않았어서는 안 됩니다.
    • 전쟁 또는 전쟁 준비에 관한 이벤트는 날짜가 아닌 fire.trigger의 게임 상태에 따라 게이트되어야 합니다(AGENTS.md 참조). 해당 텍스트는 전쟁 시작 또는 준비에 대한 역사적 날짜를 명명하지 않습니다. 평시 이벤트는 국가가 전쟁 중이면 차단됩니다. 트리거가 계획에 포함되기 전에, Find-HoiDoc으로 해당 범위를 조회하고, 창 시작 시점의 모든 태그, 주 및 플래그를 조회하십시오(Get-HoiState, Get-HoiCountryHistory, Find-HoiUsage). 유효한 스크립트인 트리거라도 일반 게임에서는 결코 참이 될 수 없는 경우(예: 시작 시 존재하지 않는 국가, 다른 국가가 소유한 주)가 있습니다. 계획이 나중에 조회하겠다고 약속한 내용은 계획이 READY가 되기 전에 완료되어야 합니다.
  3. 편집자가 보기 전에 트리거를 검증하십시오. trigger-checker 에이전트(Modding Manager의 Agents/trigger-checker.md, 사용자 수준으로 설치됨; Antigravity는 해당 파일을 invoke_subagent에 전달)를 계획 경로, 이벤트 키 및 팩의 태그와 함께 파견하십시오. 이 에이전트는 각 fire.trigger를 이벤트의 fire.after 시점의 게임 파일과 대조하여 분석하고, 이벤트별로 트리거가 창 내에서 참이 될 수 있는지, 주간 확인에 대해 얼마나 오래 유지되는지, 트리거가 허용하는 경우 텍스트가 거짓인지, 창이 텍스트의 날짜와 일치하는지에 대한 답변을 제공합니다. 모든 FIX를 적용하고, 변경된 이벤트를 다시 실행한 후 각 이벤트의 판정을 계획의 "Trigger verification" 섹션에 기록하십시오: OK, 이전 트리거를 대체한 FIX, 또는 OPEN(탐침 결과 또는 소유자의 결정 포함). 탐침 결과나 소유자 결정 없이 OPEN 상태인 이벤트가 있는 계획은 READY가 될 수 없습니다. 편집자가 제안한 조건은 이 단계의 단서일 뿐, 트리거가 아닙니다.
  4. 편집 에이전트 ep-editor를 계획 경로(markdown fact-sheets 블록이 사실 시트 역할을 함) 및 이벤트 키와 함께 파견하십시오. 모든 REWRITE를 적용하고 REJECT된 이벤트는 삭제하거나 교체하십시오(Phase 2로 돌아가 교체). 각 라운드를 "Editor record" 섹션에 기록하십시오. 모든 이벤트가 KEEP을 받을 때까지 변경된 이벤트를 편집자에게 다시 보내십시오. 최대 3라운드까지 시도한 후 소유자에게 문의하십시오.
  5. 팩의 Workshop 소개글 source/<key>/workshop-intro.bbcode를 평가하십시오: Test-WorkshopText.ps1 -Mod "Event Packs" -Pack <key>가 통과한 후, workshop-editor를 모드 모드(Modding Manager의 docs/workshop-text-style.md (..\..\docs\workshop-text-style.md), 섹션 "Auditing a page")로 모드 폴더(리포지토리 루트)와 해당 파일과 함께 파견하십시오. 소개글은 팩의 events.json 및 pictures.json에 표시된 내용(이벤트 수, 시대별 그림이 있는 이벤트, 효과 등)만 언급하고, 동일한 사실에 대해 다른 팩의 소개글에서 사용된 표현을 사용해야 합니다. 모든 REWRITE를 적용하고, -Generate, Sync-WorkshopRegions.ps1 및 기계적 검사를 다시 실행한 후, KEEP을 받을 때까지 소개글을 다시 편집자에게 보내십시오. 최대 3라운드까지 시도한 후 소유자에게 문의하십시오. 라운드를 "Editor record" 섹션에 기록하십시오.

Phase 5: 게이트

  1. 리포지토리를 건드리지 않고 계획을 리허설하십시오: robocopy . scratch\rehearsal /MIR /XD .git scratch artifacts sources-cache를 실행한 후, scratch\rehearsal에서 계획의 1~8단계를 정확히 기록된 대로 실행하십시오(복사본에만 기록합니다). 각 단계는 예상된 결과를 제공해야 합니다. 복사본이 아닌 계획을 수정하고 다시 리허설하십시오. 단계 4는 복사본의 assets\thumbnail.json을 편집합니다. Read 도구로 미리보기를 열고, 타이틀 플레이트나 국기가 피사체를 가리는 경우 다른 그림이나 자르기를 선택하십시오. 단계 8은 각 이벤트를 게임 창으로 그립니다(scratch\rehearsal\artifacts\workshop-images\<key>\). Read 도구로 이미지를 열고, 렌더러가 [WARN]을 출력한 제목이나 옵션을 줄이십시오. 제목이 상자를 넘어 아래 텍스트와 겹치기 때문입니다 [GUW-027].
  2. "Events"를 채우고, 리허설의 -Check -Pack <key> 또는 -RenderEvents -Pack <key>가 출력했지만 유지하기로 결정한 [WARN] 목록을 "Kept on judgment"에 기록하고 Status: READY로 설정하십시오.
  3. 복사본을 삭제하십시오: Remove-Item -Recurse -Force scratch\rehearsal.
  4. 자료 파일의 모든 섹션에 후보의 키(자료 파일 및 부록 모두)에 대해 표시하십시오:
    • READY 계획의 각 이벤트는 ## <key> 제목 바로 아래에 Used: <plan file name> 줄을 받습니다.
    • Phase 3a에서 확인된 모든 후보(교체된 후보 포함)는 그 아래(제목 아래, Used:가 없는 경우, 이전 Checked: 줄 아래)에 Checked: <plan file name>, <K> kept, <F> fixed, <D> dropped. The facts below are the researcher's notes, not the checked ones: see <where>. 줄을 받습니다. 횟수는 "Fact verification"의 해당 후보 값입니다. <where>는 계획에 포함된 이벤트의 경우 source/<key>/fact-sheets.md, 교체된 이벤트의 경우 the plan's "Fact verification"입니다.
    • 자료 파일의 다른 내용은 변경하지 마십시오. 확인되지 않은 후보는 연구원이 작성한 대로 표시되지 않은 상태로 유지됩니다.

Phase 6: 인계

소유자에게 보고하십시오: 계획 경로, 각각 향후 사용 가능한 후보 수를 포함한 자료 파일 경로, 이벤트와 제목, 그림 라이선스(PD, CC0, CC BY 수), 썸네일 그림과 자르기, 사실 검증 총계, 편집자 총계, 그리고 event-pack-implement가 이를 실행한다는 정보를 보고한 후 중단하십시오.

Antigravity: 각 에이전트 브리프의 경로를 invoke_subagent에 전달하십시오. 파견할 수 있는 하위 에이전트가 없는 경우, 브리프를 읽고 직접 작업을 수행하되, 편집자의 작업은 초안, 사실 시트 및 스타일 가이드만 읽는 별도의 패스로 유지하십시오.

관련 스킬