메인 칼럼 개발일지 작업물 연락처

PI agent 확장하기 — 유용한 커뮤니티 패키지와 나만의 패키지 만들어 공유하기

pi install로 바로 쓸 수 있는 추천 커뮤니티 패키지들과, 나만의 워크플로우를 프롬프트·스킬·익스텐션 패키지로 묶어 npm/git으로 공유하는 방법을 정리했습니다.

지난 포스팅에서 PI의 기본 사용법과 pi-subagents로 작업을 분배하는 법을 다뤘습니다. 이번엔 약속드린 대로 pi install 로 바로 쓸 수 있는 유용한 커뮤니티 패키지들, 그리고 나만의 워크플로우를 패키지로 묶어 공유하는 법까지 다뤄보겠습니다.

이 글은 PI 공식 문서를 기반으로 작성했습니다.


1. PI 패키지는 무엇으로 이루어져 있나

PI는 의도적으로 “최소한의(minimal)” 상태로 출발합니다. 필요한 기능은 패키지로 끼워 넣는 구조죠. 패키지는 네 가지 종류의 자원을 담을 수 있습니다.

  • Extension(익스텐션) — TypeScript로 새 도구·기능을 추가
  • Skill(스킬) — 필요할 때만 불러오는 능력 묶음(마크다운 + 도구)
  • Prompt Template(프롬프트 템플릿) — 자주 쓰는 지시문을 슬래시 명령으로 저장
  • Theme(테마) — 터미널 UI 색 테마

pi.dev/packages 갤러리에는 현재 3,500개가 넘는 패키지가 올라와 있고, 다운로드·최신순으로 정렬해 둘러볼 수 있습니다.


2. 바로 쓸 만한 추천 커뮤니티 패키지

공식 갤러리에 올라온 것들 중, 실사용에서 도움이 될 만한 패키지를 골라봤습니다. 설치 명령은 모두 동일한 형식입니다.

패키지하는 일설치
pi-subagents작업을 자식 에이전트에게 분배 (병렬·체인 실행)pi install npm:pi-subagents
pi-web-access웹 검색·URL 가져오기·GitHub 클론·PDF 추출·영상 분석pi install npm:pi-web-access
context-mode컨텍스트 창을 최대 98%까지 아껴주는 MCP 플러그인pi install npm:context-mode
pi-mcp-adapterMCP(Model Context Protocol) 어댑터pi install npm:pi-mcp-adapter
pi-lensLSP·린터로 실시간 코드 피드백pi install npm:pi-lens
pi-simplify가독성·유지보수성 관점의 코드 리뷰pi install npm:pi-simplify
pi-hermes-memory영구 메모리 + 세션 검색 + 시크릿 스캐닝pi install npm:pi-hermes-memory
pi-chrome기존 크롬 프로필을 그대로 활용pi install npm:pi-chrome

처음이라면 pi-subagents + pi-web-access 조합만으로도 체감이 확 달라집니다.

⚠️ 설치 전에 꼭 — 보안 주의

공식 문서가 명확히 경고합니다. PI 패키지는 시스템 전체 권한으로 실행되고, 익스텐션은 임의의 코드를 돌리며, 스킬은 실행 파일 실행을 포함해 모델에게 무엇이든 시킬 수 있습니다. 그러니 신뢰할 수 없는 서드파티 패키지는 설치 전에 반드시 소스 코드를 확인하세요.


3. 설치 방식 세 가지

PI는 설치 범위를 세 가지로 구분합니다. 상황에 맞게 쓰면 됩니다.

① 전역 설치 — 내 모든 프로젝트에서 사용 (사용자 설정에 기록)

pi install npm:pi-subagents
pi install npm:@foo/bar@1.0.0          # 버전 지정
pi install git:github.com/user/repo@v1 # git에서 직접

② 프로젝트 한정 설치-l 플래그, 해당 프로젝트의 .pi/settings.json 에만 기록

pi install -l npm:pi-lens

팀과 함께 쓰는 저장소라면 -l 로 설치하고 .pi/settings.json 을 커밋해 두면, 동료가 받자마자 같은 도구 세트를 쓸 수 있습니다.

③ 이번 실행에서만-e 플래그, 설정에 남기지 않고 한 번만

pi -e npm:pi-web-access

설치한 목록은 pi list, 업데이트는 pi update, 제거는 pi remove npm:패키지명 으로 관리합니다.


4. 나만의 패키지 만들어 공유하기

여기서부터가 PI의 진짜 철학입니다 — “네가 원하는 방식대로 직접 만들어 쓰라”. 거창한 익스텐션을 짜지 않아도, 자주 쓰는 지시문 하나만 있어도 충분히 시작할 수 있습니다. 쉬운 것부터 보겠습니다.

(1) 프롬프트 템플릿 — 가장 쉬운 시작

자주 입력하는 지시문을 마크다운 파일로 저장해두면 슬래시 명령으로 부를 수 있습니다.

파일: .pi/prompts/review.md

# 코드 리뷰 템플릿

아래 코드를 다음 관점에서 리뷰해줘:
- 보안 이슈
- 성능 문제
- 테스트 커버리지

유지보수성과 가독성에 초점을 맞춰줘.

이제 입력창에 /review 만 치면 이 내용이 펼쳐집니다. 터미널에서는 pi /review 로도 호출됩니다.

(2) 스킬 — 필요할 때만 불러오는 능력

스킬은 평소엔 가만히 있다가 호출할 때만 불려오는 마크다운 묶음입니다. 컨텍스트를 낭비하지 않는 게 장점입니다.

파일: .pi/skills/my-skill/SKILL.md

# My Skill

설명은 `/skill:my-skill` 자동완성에 표시됩니다.

## 사용법

사용자가 `/skill:my-skill` 을 입력하면 이 내용이 프롬프트에 주입됩니다.

입력창에서 /skill:my-skill 로 호출합니다.

(3) 익스텐션 — 새 도구 추가 (TypeScript)

좀 더 나아가면, 모델이 직접 호출할 수 있는 새 도구를 추가할 수 있습니다.

파일: ~/.pi/agent/extensions/hello.ts

import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
import { Type } from "typebox";

export default function (pi: ExtensionAPI) {
  pi.registerTool({
    name: "greet",
    label: "Greet",
    description: "Say hello",
    parameters: Type.Object({
      name: Type.String({ description: "Person to greet" }),
    }),
    async execute(toolCallId, params) {
      return {
        content: [{ type: "text", text: `Hello, ${params.name}!` }],
        details: {},
      };
    },
  });
}

이제 모델이 greet 도구를 호출할 수 있습니다. ~/.pi/agent/extensions/ 에 두면 자동으로 인식되고, /reload 로 다시 불러올 수 있습니다.


5. 패키지로 묶어서 배포하기

위 자원들을 하나의 폴더로 묶고 package.json 만 갖추면 그게 바로 배포 가능한 PI 패키지입니다.

{
  "name": "my-pi-toolkit",
  "version": "1.0.0",
  "keywords": ["pi-package"],
  "pi": {
    "extensions": ["./extensions"],
    "skills": ["./skills"],
    "prompts": ["./prompts"],
    "themes": ["./themes"]
  }
}
  • keywordspi-package 를 넣으면 갤러리에서 검색됩니다.
  • pi 키에 자원 폴더를 명시하면 됩니다. (이 키 없이 extensions/, skills/, prompts/, themes/ 같은 관례 폴더명을 쓰면 자동으로 인식됩니다.)

배포 전 로컬에서 먼저 테스트해보고 싶다면, 절대 경로로 바로 설치할 수 있습니다.

pi install /absolute/path/to/my-pi-toolkit

이상이 없으면 두 가지 방법으로 공유합니다.

  • npm 배포npm publish 후, 다른 사람은 pi install npm:my-pi-toolkit 으로 설치
  • git 공유 — 깃 저장소에 올리고, pi install git:github.com/내아이디/my-pi-toolkit 으로 설치

마치며

이제 남이 만든 패키지를 가져다 쓰는 것을 넘어, 내가 매일 반복하는 작업을 프롬프트·스킬·익스텐션으로 만들고 팀과 공유하는 단계까지 왔습니다. PI를 “쓰는 도구”에서 “내 손에 맞게 깎아 만드는 도구”로 바꾸는 지점이죠.

설치 → API 키 → 모델 설정 → 기본 사용법 → 서브에이전트 → 패키지 제작까지, PI 입문 시리즈를 마무리합니다. 직접 만든 패키지가 있다면 언제든 공유해 주세요. 감사합니다!

김현빈 Developer & Writer

기술, 포스팅 관련 질문, 프로젝트 협업 등 연락주시면 언제든지 회신 드립니다.