From cb9d2d12a515f9a1cc7cef6f82b491e0431733d0 Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Fri, 15 May 2026 18:40:08 +1000 Subject: [PATCH] sam-4screen-desktop 2026-5-15:18:40:8 --- 100 inbox/Pi Agent Extensions & Skills.md | 107 ++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 100 inbox/Pi Agent Extensions & Skills.md diff --git a/100 inbox/Pi Agent Extensions & Skills.md b/100 inbox/Pi Agent Extensions & Skills.md new file mode 100644 index 0000000..35e1717 --- /dev/null +++ b/100 inbox/Pi Agent Extensions & Skills.md @@ -0,0 +1,107 @@ +--- +created: <% tp.file.creation_date("YYYY-MM-DD HH:mm") %> +modified: <% tp.file.last_modified_date("YYYY-MM-DD HH:mm") %> +type: note +tags: [] +aliases: [] +--- + +# Pi Agent Extensions & Skills + +## Source Repositories + +| Source | Location | +|---|---| +| Gitea (package) | `git:https://gitea.lab.audasmedia.com.au/sam/pi-config` | +| Local filesystem | `~/.agents/` | +| Project settings | `sys_config/.pi/settings.json`, `ai_setup/.pi/settings.json` | + +--- + +## Extensions + +| Extension | Source | Purpose | +|---|---|---| +| **pi-config** | `~/.agents` | `/config-add`, `/config-remove`, `/config-show`, `/config-setup` — manage which extensions/skills are active in a project | +| **tavily-search** | Gitea | `tavily_search` — web search via Tavily API (AI-optimized, replaces need for Google Search) | +| **web-fetch** | `~/.agents` | `web_fetch` — fetch any URL and return clean markdown (HTML, PDF, JS-rendered pages with Jina fallback) | +| **ask-user-question** | `~/.agents` | `ask_user_question` — LLM can present structured multiple-choice / text questions with keyboard UI | +| **video-extract** | `~/.agents` | `video_extract` — extract frames from YouTube/local video + full Gemini analysis (requires ffmpeg + yt-dlp + GEMINI_API_KEY) | +| **filechanges** | `~/.agents` | `/filechanges`, `/filechanges-accept`, `/filechanges-decline` — tracks every file LLM edits/writes, diff review, revert | +| **pi-subagents** (tintinweb v0.7.1) | `~/.agents` | Spawn child Pi agents for delegated tasks (scout, researcher, worker) | +| **pi-graphify** | `~/.agents` | Knowledge graph tools: build, query, path tracing, explain, watch, add, update | +| **plannotator** | `~/.agents` | Interactive plan review with browser UI, annotations, code review | +| **caveman** | `~/.agents` | Ultra-compressed communication mode | + +--- + +## Skills + +| Skill | Purpose | +|---|---| +| **nixos-workflow** | STRICT workflow for managing Pi assets via Gitea on NixOS | +| **system-architect** | Multi-machine NixOS infrastructure (Snapcast, MQTT, Docker, Nvim) | +| **obsidian-cli** | Interact with Obsidian vault (notes, search, plugin dev, theme dev) | +| **graphify** | Full-pipeline knowledge graph orchestration | +| **caveman** | Caveman communication mode | +| **openspec-propose** | Propose new changes with design docs, specs, tasks | +| **openspec-apply-change** | Implement tasks from an OpenSpec change | +| **openspec-archive-change** | Archive completed changes | +| **openspec-explore** | Explore ideas and clarify requirements | + +--- + +## Configuration Files + +### Global (`~/.pi/agent/settings.json`) +- Nix store symlink — managed via `/etc/nixos/home/sam/home.nix` +- Contains: providers (opencode-go, openrouter, google), packages (pi-memctx, Gitea) +- **Read-only** — cannot be modified by `pi install` or `/config-add` + +### Project (`/.pi/settings.json`) +- Overrides global settings (arrays replace, not merge) +- Contains: `~/.agents` package (extensions + skills), Gitea package (tavily-search) +- Modified via `/config-add` / `/config-remove` commands + +### Per-folder Memory (via pi-memctx) +- Memory stored in `/.pi/memory-vault/packs/` +- Workspace map at `~/.pi/agent/memory-vault/00-system/workspace-map.json` +- Each chat folder has isolated memory (prevents sibling directory contamination) + +--- + +## Useful Commands + +| Command | What it does | +|---|---| +| `/config-setup` | One-shot: creates `.pi/`, `settings.json`, memory vault in current folder | +| `/config-add ext ` | Activate an extension from `~/.agents` | +| `/config-add skill ` | Activate a skill from `~/.agents` | +| `/config-show` | Show active extensions and skills | +| `/memctx-init` | Scan folder, build initial memory pack | +| `/memctx-status` | Show memory status | +| `/memctx-refresh` | Re-scan and enrich memory | +| `/filechanges` | Review changed files, diffs, accept/decline | +| `/filechanges-accept` | Accept all changes | +| `/filechanges-decline` | Revert all changes | + +--- + +## Skipped / Bookmarked + +| Extension/Skill | Reason | +|---|---| +| **web-search** (amosblomqvist) | ❌ Redundant — Tavily does this | +| **subagents** (amosblomqvist) | ❌ Redundant — pi-subagents already installed | +| **bash-guard** (amosblomqvist) | ❌ Too aggressive — would interrupt flow | +| **google-image-search** (amosblomqvist) | ❌ Would need Google Search API + CSE setup | +| **pdf-reader** (amosblomqvist) | ⏳ Bookmarked — Python + pymupdf setup needed | + +--- + +## Tasks + +- [ ] Clean up workspace-map.json entries for any stale memory packs +- [ ] Run `/reload` in Pi to activate filechanges +- [ ] Add ffmpeg + yt-dlp to home.nix (done — needs rebuild) +- [ ] Verify video-extract works with Gemini (GEMINI_API_KEY configured via Google provider)