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

Skills

파이는 기술을 만들 수 있습니다. 귀하의 사용 사례에 맞게 구축하도록 요청하세요.

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

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

목차

위치

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

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

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

검색 규칙:

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

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

다른 하네스의 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 설치
```

## Usage

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

기술 디렉터리의 상대 경로를 사용하십시오.

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 설치
```

## Search

```bash
./search.js "query" # 기본 검색
./search.js "query" --content # 페이지 콘텐츠 포함
```

## Extract Page Content

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

기술 저장소

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