Agent skill
ai4pkm-helper
AI4PKM helper for orchestrator configuration, worker management, and CLI workflow integration.
Install this agent skill to your Project
npx add-skill https://github.com/jykim/claude-obsidian-skills/tree/main/ai4pkm-helper
Metadata
Additional technical details for this skill
- author
- lifidea
- created
- 1765324800
- modules
-
[ "orchestrator", "tasks" ] - updated
- 1769212800
- version
- 2.0.0
SKILL.md
AI4PKM Helper
This skill provides guidance for configuring and managing AI4PKM orchestrator and workers. It helps users set up agents, configure multi-worker execution, and manage CLI workflows.
AI4PKM Architecture
flowchart BT
subgraph Gobi["Gobi Desktop"]
subgraph Storage["Storage"]
FS[File System]
end
subgraph Interface["Interface"]
OBS[Obsidian]
CC[Claude Code]
end
subgraph Core["Core"]
ORC[Orchestrator]
CLI[AI4PKM CLI]
end
end
Storage --> Interface --> Core
3-tier model:
- Storage: Markdown files (AI-optimal format)
- Interface: Obsidian for viewing/editing, Claude Code for AI interaction
- Core: Orchestrator for automation, CLI for quick commands
- GUI: Gobi Desktop wraps all above with visual interface
When to Use This Skill
Claude should automatically load this skill when:
- User wants to add, modify, or remove agents/nodes in orchestrator.yaml
- User wants to configure multi-worker execution (comparing AI models)
- User wants to update orchestrator defaults (executor, timeout, max_parallel)
- User wants to add or modify pollers (limitless, apple_photos, apple_notes)
- User asks about CLI commands for orchestrator management
- User needs help with orchestrator.yaml structure
Quick Commands
"워커 설정" / "Worker config" → Worker Configuration Guide
"에이전트 추가" / "Add agent" → Add New Agent Node
"폴러 설정" / "Poller config" → Poller Configuration
"설정 보기" → Show Current Config (ai4pkm --show-config)
"에이전트 목록" → List Agents (ai4pkm --list-agents)
"Orchestrator 설정" → Orchestrator Setup Module
"태스크 추가" → Task Management Module
Core Modules
Module 1: Orchestrator Setup (워크플로우 자동화)
Purpose: Configure orchestrator.yaml for event-driven automation
Key Concepts:
- Node: Event-driven agent that triggers on file changes or schedules
- Executor: AI engine to run (claude_code, codex_cli, gemini_cli)
- Poller: External data sync (limitless, apple_photos, apple_notes)
- Worker: Execution unit within a node (supports multi-worker for model comparison)
Setup Process:
- Explain orchestrator purpose and benefits
- Show orchestrator.yaml structure (nodes, pollers, defaults)
- Configure first agent (e.g., EIC - Enrich Ingested Content)
- Test agent execution with file trigger
Prompt: AI4PKM - Orchestrator Setup.md
Example Configuration (current format):
version: "1.0"
orchestrator:
prompts_dir: _Settings_/Prompts
tasks_dir: _Settings_/Tasks
logs_dir: _Settings_/Logs
skills_dir: _Settings_/Skills
max_concurrent: 3
poll_interval: 1
defaults:
executor: claude_code
timeout_minutes: 30
max_parallel: 3
task_create: true
nodes:
- type: agent
name: Enrich Ingested Content (EIC)
input_path: Ingest/Clippings
output_path: AI/Articles
executor: claude_code
- type: agent
name: Daily Driver Workflow (DDW)
cron: "15,45 * * * *"
output_path: Journal
completion_status: IGNORE
agent_params:
calendars:
- Default
- Work
past_hours: 24
future_days: 3
goals_file: _Settings_/Goals & Principles.md
roundup_lookback_days: 7
pollers:
limitless:
enabled: true
target_dir: "Ingest/Limitless"
poll_interval: 300
Node Configuration Fields Reference
| 필드 | 필수 | 설명 | 예시 |
|---|---|---|---|
type |
✓ | 노드 타입 | agent |
name |
✓ | Agent 이름 | Enrich Ingested Content (EIC) |
prompt |
프롬프트 파일 참조 (ABBR) | EIC |
|
input_path |
입력 디렉토리 (파일 트리거) | Ingest/Clippings |
|
output_path |
출력 디렉토리 | AI/Articles |
|
executor |
실행 엔진 | claude_code, codex_cli, gemini_cli |
|
cron |
스케줄 실행 (cron 표현식) | "15,45 * * * *" |
|
enabled |
활성화 여부 | true / false |
|
timeout_minutes |
타임아웃 | 30 |
|
completion_status |
완료 후 상태 | DONE, IGNORE |
|
agent_params |
Agent-specific 파라미터 | (object) | |
workers |
Multi-Worker 설정 | (list) |
Node Types
| Type | Trigger | Example |
|---|---|---|
| File-triggered | New/updated file in input_path | EIC, GDR |
| Cron-scheduled | Time-based (cron expression) | DDW |
Worker Configuration Fields
Multi-worker 설정 시 각 worker에 사용 가능한 필드:
| 필드 | 설명 | 예시 |
|---|---|---|
executor |
실행 엔진 | claude_code, gemini_cli |
label |
Worker 식별 라벨 | Claude, Gemini |
output_path |
Worker별 출력 경로 | AI/Summary/Claude |
agent_params |
Worker별 파라미터 | (object) |
Multi-Worker 설정 예시 (여러 AI 모델 비교/평가):
- type: agent
name: Article Summary Comparison
prompt: EIC
input_path: Ingest/Articles
workers:
- executor: gemini_cli
label: Gemini
output_path: AI/Summary/Gemini
- executor: claude_code
label: Claude
output_path: AI/Summary/Claude
- executor: codex_cli
label: Codex
output_path: AI/Summary/Codex
Poller Configuration
Pollers sync external data sources to your vault.
| Poller | 설명 | 주요 설정 |
|---|---|---|
limitless |
Limitless 라이프로그 동기화 | target_dir, poll_interval |
apple_photos |
Apple Photos 동기화 | target_dir, albums |
apple_notes |
Apple Notes 동기화 | target_dir, folders |
Poller 설정 예시:
pollers:
limitless:
enabled: true
target_dir: "Ingest/Limitless"
poll_interval: 300
apple_photos:
enabled: false
target_dir: "Ingest/Photos"
albums:
- "Screenshots"
- "PKM"
apple_notes:
enabled: false
target_dir: "Ingest/Notes"
folders:
- "Quick Notes"
CLI Quick Reference
| Command | 설명 |
|---|---|
ai4pkm --show-config |
현재 설정 보기 |
ai4pkm --list-agents |
에이전트 목록 |
ai4pkm --run <agent> |
특정 에이전트 실행 |
ai4pkm --enable <agent> |
에이전트 활성화 |
ai4pkm --disable <agent> |
에이전트 비활성화 |
ai4pkm --status |
실행 상태 확인 |
ai4pkm --logs |
로그 확인 |
Common Configuration Tasks
Add New Agent
- Open
orchestrator.yaml - Add new node under
nodes::
- type: agent
name: Your New Agent (ABBR)
input_path: Ingest/YourFolder
output_path: AI/YourOutput
executor: claude_code
- Create corresponding prompt in
_Settings_/Prompts/
Enable/Disable Agent
- type: agent
name: Some Agent
enabled: false # Add this line to disable
Set Up Multi-Worker Comparison
- Replace single
executorwithworkerslist - Define output_path per worker to separate results
- Use consistent labels for tracking
Module 2: Task Management (태스크 관리)
Purpose: Add, update, and track tasks in AI4PKM system
Operations:
- Add Task: Create new task with description, category, priority
- Update Status: Mark tasks as in_progress, completed, or blocked
- View Tasks: List tasks by status, category, or date
Prompt: AI4PKM - Add Task.md
Task Categories:
- 🔍 Research
- 📐 Design
- 🛠️ Implement
- ✍️ Write
- 📝 Docs & System
Voice Mode Configuration
Language Support
- Support both English and Korean
- Use
tts_model="gpt-4o-mini-tts"for natural pronunciation - Continue conversation naturally
Listening Behavior
- Patient listening: Wait for user to finish (use
min_listen_duration=8) - Adaptive waiting: Don't interrupt incomplete thoughts
- Use
vad_aggressiveness=0for permissive voice detection
Progress Updates
- For long operations (10+ seconds), provide voice updates
- "지금 설정 확인 중이에요..." / "에이전트 추가하는 중입니다..."
- Keep user informed throughout process
Example Interactions
Adding an Agent
User: 에이전트 추가해줘
Agent: 어떤 에이전트를 추가할까요?
- 파일 기반 (input_path 필요)
- 스케줄 기반 (cron 필요)
User: 파일 기반, Ingest/Articles 폴더 감시해서 AI/Summaries에 요약 저장
Agent: 다음 설정으로 추가할게요:
- name: Article Summarizer
- input_path: Ingest/Articles
- output_path: AI/Summaries
- executor: claude_code
프롬프트는 어떤 걸 사용할까요?
Configuring Multi-Worker
User: 여러 모델로 비교하고 싶어
Agent: Multi-worker 설정을 도와드릴게요.
어떤 모델들을 비교할까요?
- claude_code (Claude)
- gemini_cli (Gemini)
- codex_cli (Codex)
User: Claude랑 Gemini
Agent: 각 모델 결과를 어디에 저장할까요?
예: AI/Compare/Claude, AI/Compare/Gemini
Implementation Notes
Prompt Chaining
Each prompt is independent but connected:
- Input: Previous step's output (optional)
- Process: Execute current step
- Output: Results for next step
Semi-Automatic Execution
- Each step requires user confirmation
- Keywords: "완료", "다음", "계속" → proceed
- Keywords: "중단", "나중에" → pause
- User can resume from any step
Error Handling
- Clear error messages in Korean
- Suggest fixes or alternatives
- Allow retry or skip (when safe)
- Never leave user stuck
Files Structure
_Settings_/Skills/ai4pkm-helper/
├── SKILL.md # This file
└── modules/ # (Future: detailed module guides)
├── orchestrator.md
└── tasks.md
_Settings_/Prompts/
├── AI4PKM - Orchestrator Setup.md
├── AI4PKM - Add Task.md
└── ...
orchestrator.yaml # Main config file (vault root)
References
Documentation
- Orchestrator config reference:
orchestrator.yaml - CLI documentation:
ai4pkm --help
Design Documents
[[AI/Analysis/2025-12-10 AI4PKM Onboarding Agent Design - Claude Code]]
Troubleshooting
Common Issues
"에이전트가 실행 안 돼요"
→ ai4pkm --status로 상태 확인 후, 로그 확인: ai4pkm --logs
"폴러가 동작 안 해요"
→ pollers: 섹션에서 enabled: true 확인, poll_interval 값 확인
"Multi-worker 결과가 섞여요"
→ 각 worker에 다른 output_path 지정했는지 확인
"cron이 트리거 안 돼요"
→ cron 표현식 문법 확인, ai4pkm --status로 다음 실행 시간 확인
"설정 변경이 반영 안 돼요"
→ orchestrator 재시작 필요: ai4pkm --restart
Future Enhancements
Planned (v2.1+)
- GUI-based config editor (Gobi Desktop)
- Agent template library
- Performance monitoring dashboard
- Webhook triggers support
- Remote execution support
Notes
- Config validation: Always validate YAML syntax before saving
- Backup: Keep backup of working orchestrator.yaml
- Testing: Test new agents with small input sets first
- Logging: Check logs for troubleshooting execution issues
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
obsidian-cli
Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.
gemini-image-skill
obsidian-mermaid
Create Obsidian-compatible Mermaid diagrams. Prefer square layouts (TB + subgraph LR), avoid markdown in labels. Use when creating flowcharts, sequence diagrams, or any Mermaid diagrams in markdown files.
obsidian-yaml-frontmatter
Manage YAML frontmatter properties with consistent formatting, property names, and value types. Use when creating or updating frontmatter in markdown files.
markdown-slides
Create presentation slides in Markdown format (Deckset/Marp compatible). Use when user requests to create slides, presentations, or convert documents to slide format. Handles image positioning, speaker notes, and proper formatting.
markdown-video
Convert Deckset-format markdown slides with speaker notes to presentation video with TTS narration. Use when user requests to create video from slides, generate presentation video, or convert slides to MP4 format.
Didn't find tool you were looking for?