Pi 구성, 확장, 플랫폼 설정 및 API 참조.

Skills

Pi는 Skills를 만들 수 있습니다. 사용 사례에 맞게 만들어 달라고 요청하세요.

Skills는 에이전트가 요청 시 로드하는 자체 포함 기능 패키지입니다. 기술은 특정 작업에 대한 특수 워크플로, 설정 지침, 도우미 스크립트 및 참조 문서를 제공합니다.

Pi는 Agent Skills standard를 구현하며 대부분의 위반 사항에 대해 경고하지만 관대하게 처리합니다. Pi는 표준에서 허용하지 않더라도 skill 이름이 상위 디렉터리와 다를 수 있도록 허용합니다. 이 규칙은 여러 Agent 환경에서 공유되는 skill 디렉터리에는 적합하지 않습니다.

목차

위치

보안: Skills 모델에 모든 작업을 수행하도록 지시할 수 있으며 모델이 호출하는 실행 가능한 코드가 포함될 수 있습니다. 사용 전 스킬 내용을 검토하세요.

Pi 다음에서 스킬을 로드합니다.

  • 글로벌:
    • ~/.pi/agent/skills/
    • ~/.agents/skills/
  • 프로젝트(프로젝트를 신뢰한 후에만):
    • .pi/skills/
    • .agents/skills/ cwd 및 상위 디렉터리(최대 git repo 루트 또는 repo에 없는 경우 파일 시스템 루트)
  • 패키지: skills/ 디렉토리 또는 package.json의 pi.skills 항목
  • 설정: skills 파일 또는 디렉터리가 포함된 배열
  • CLI: --skill <path> (반복 가능, --no-skills을 사용해도 추가 가능)

검색 규칙:

  • ~/.pi/agent/skills/ 및 .pi/skills/에서는 직접 루트 .md 파일이 개별 스킬로 검색됩니다.
  • 모든 스킬 위치에서 SKILL.md가 포함된 디렉터리가 반복적으로 검색됩니다.
  • ~/.agents/skills/ 및 프로젝트 .agents/skills/에서는 루트 .md 파일이 무시됩니다.

--no-skills로 검색을 비활성화합니다(명시적 --skill 경로는 계속 로드됨).

다른 Agent 환경의 Skills 사용

Claude Code 또는 OpenAI Codex의 기술을 사용하려면 해당 디렉터리를 설정에 추가하세요.

{
  "skills": [
    "~/.claude/skills",
    "~/.codex/skills"
  ]
}

프로젝트 수준 Claude Code 기술의 경우 .pi/settings.json에 추가하세요.

{
  "skills": ["../.claude/skills"]
}

Skills 작동 방식

  1. 시작 시 pi는 기술 위치를 스캔하고 이름과 설명을 추출합니다.
  2. 시스템 프롬프트에는 specification에 따라 XML 형식으로 사용 가능한 기술이 포함되어 있습니다.
  3. 작업이 일치하면 에이전트는 read를 사용하여 전체 SKILL.md를 로드합니다(모델이 항상 이 작업을 수행하는 것은 아닙니다. 프롬프트를 사용하거나 /skill:name를 사용하여 강제 실행).
  4. 에이전트는 스크립트 및 자산을 참조하기 위한 상대 경로를 사용하여 지침을 따릅니다.

이는 점진적인 공개입니다. 설명만 항상 상황에 맞게 제공되며 전체 지침은 요청 시 로드됩니다.

스킬 명령

Skills /skill:name 명령으로 등록:

/skill:brave-search           # Load and execute the skill
/skill:pdf-tools extract      # Load skill with arguments

명령 뒤의 인수는 스킬 내용에 User: <args>로 추가됩니다.

대화형 모드에서 /settings 또는 settings.json를 통해 스킬 명령을 전환하세요.

{
  "enableSkillCommands": true
}

스킬 구조

스킬은 SKILL.md 파일이 포함된 디렉터리입니다. 다른 모든 것은 자유 형식입니다.

my-skill/
├── SKILL.md              # Required: frontmatter + instructions
├── scripts/              # Helper scripts
│   └── process.sh
├── references/           # Detailed docs loaded on-demand
│   └── api-reference.md
└── assets/
    └── template.json

SKILL.md 형식

---
name: my-skill
description: What this skill does and when to use it. Be specific.
---

# My Skill

## Setup

Run once before first use:
```bash
cd /path/to/skill && npm install
```

## Usage

```bash
./scripts/process.sh <input>
```

Skill 디렉터리에서 상대 경로를 사용하세요.

See [the reference guide](references/REFERENCE.md) for details.

프론트매터

Agent Skills specification에 따라:

필드 필수의 설명
name 예 최대 64자. 소문자 az, 09, 하이픈. 표준과 달리 Pi는 표준 요구 사항이 공유 스킬 디렉터리에 적합하지 않기 때문에 상위 디렉터리와 일치할 것을 요구하지 않습니다.
description 예 최대 1024자. 스킬의 기능과 사용 시기.
license 아니요 라이센스 이름 또는 번들 파일에 대한 참조입니다.
compatibility 아니요 최대 500자. 환경 요구 사항.
metadata 아니요 임의의 키-값 매핑.
allowed-tools 아니요 사전 승인된 도구의 공백으로 구분된 목록(실험적)입니다.
disable-model-invocation 아니요 true일 경우 시스템 프롬프트에서 스킬이 숨겨집니다. 사용자는 /skill:name를 사용해야 합니다.

이름 규칙

  • 1~64자
  • 소문자, 숫자, 하이픈만 가능
  • 선행/후행 하이픈 없음
  • 연속된 하이픈이 없습니다. Pi에는 상위 디렉토리와 일치하는 이름이 필요하지 않습니다. Agent Skills 표준은 그렇습니다. 그러나 해당 요구 사항은 여러 도구에서 사용되는 공유 스킬 디렉터리에 대해서는 차선책입니다.

유효: pdf-processing, data-analysis, code-review 유효하지 않음: PDF-Processing, -pdf, pdf--processing

설명 모범 사례

설명은 상담원이 스킬을 로드하는 시기를 결정합니다. 구체적으로 말하세요.

좋은:

description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents.

가난한:

description: Helps with PDFs.

확인

Pi는 Agent Skills 표준에 따라 기술을 검증합니다. 대부분의 문제는 경고를 생성하지만 여전히 스킬을 로드합니다.

  • 이름이 64자를 초과하거나 잘못된 문자가 포함되어 있습니다.
  • 이름이 하이픈으로 시작/끝나거나 하이픈이 연속되어 있습니다.
  • 설명이 1,024자를 초과합니다.

알 수 없는 머리말 필드는 무시됩니다.

예외: 설명이 누락된 Skills는 로드되지 않습니다.

이름 충돌(다른 위치의 동일한 이름)은 경고하고 첫 번째 발견된 스킬을 유지합니다.

예

brave-search/
├── SKILL.md
├── search.js
└── content.js

SKILL.md:

---
name: brave-search
description: Web search and content extraction via Brave Search API. Use for searching documentation, facts, or any web content.
---

# Brave Search

## Setup

```bash
cd /path/to/brave-search && npm install
```

## Search

```bash
./search.js "query"              # Basic search
./search.js "query" --content    # Include page content
```

## Extract Page Content

```bash
./content.js https://example.com
```

기술 저장소

  • Anthropic Skills - 문서 처리(docx, pdf, pptx, xlsx), 웹 개발
  • Pi Skills - 웹 검색, 브라우저 자동화, Google API, 텍스트 변환