jykim

ai4pkm-helper

AI4PKM helper for orchestrator configuration, worker management, and CLI workflow integration.

jykim 50 10 Updated 9mo ago

Resources

1
GitHub

Install

npx skillscat add jykim/claude-obsidian-skills/ai4pkm-helper

Install via the SkillsCat registry.

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:

  1. Explain orchestrator purpose and benefits
  2. Show orchestrator.yaml structure (nodes, pollers, defaults)
  3. Configure first agent (e.g., EIC - Enrich Ingested Content)
  4. 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

  1. Open orchestrator.yaml
  2. Add new node under nodes::
  - type: agent
    name: Your New Agent (ABBR)
    input_path: Ingest/YourFolder
    output_path: AI/YourOutput
    executor: claude_code
  1. 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

  1. Replace single executor with workers list
  2. Define output_path per worker to separate results
  3. 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=0 for 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