You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A repo-local interceptor skill exists at ~/projects/interceptor/.agents/skills/interceptor/ (with SKILL.md, agents/, references/). It loads automatically when the working directory is the interceptor repo, via the .agents/skills/ ↔ .claude/skills/ symlink convention documented in Interceptor's README §"Agent Instructions".
It is not installed at ~/.pai/skills/interceptor, so it does not appear in the global PAI skill set when working in any other repo. PAI's skill discovery scans ~/.pai/skills/ (and ~/.claude/skills/ for Claude Code), not arbitrary repo-local paths — so this is a distribution gap, not an authoring gap.
Distribution — interceptor skill is invisible to PAI outside the interceptor repo.
Trigger surface — Codex-flavoured description does not match PAI's USE WHEN <verb-noun>, … convention, so PAI's skill matcher will not surface it on natural language requests like "open this URL in my logged-in browser" or "extract LinkedIn event attendees".
Naming — repo-local skill is lowercase interceptor; PAI skills tree uses TitleCase (Research, Scraping, Investigation, …). Decide whether to rename or leave lowercase deliberately.
Proposed work
Stage a PAI-flavoured copy of the skill into ~/.pai/skills/Interceptor/ (or interceptor/ — TBD).
Rewrite the frontmatter description with PAI-style USE WHEN <trigger>, <trigger>, … triggers covering the skill's real surface area: browser automation, signed-in session, scrape live page, extract LinkedIn event, click element, fill form, read network traffic, drive Canva / Google Docs / Slides, native macOS automation, AX tree, record session, replay session.
Decide whether to symlink to the canonical repo location (~/projects/interceptor/.agents/skills/interceptor/) or stage an independent copy. Symlink keeps the source of truth in the interceptor repo; copy decouples PAI from a project repo's lifecycle.
If symlinking, document this as a precedent for "skill lives in its product repo, PAI links into it" — useful pattern for future product-bound skills.
Verify skill loads in a fresh PAI session in an unrelated CWD.
Should the canonical location for product-specific skills be the product repo (with PAI symlinking in), or ~/.pai/skills/ (with the product repo symlinking out)? This issue is one instance of the wider question.
Naming: keep lowercase interceptor (matches repo + binary) or TitleCase Interceptor (matches PAI convention)?
Context
A repo-local interceptor skill exists at
~/projects/interceptor/.agents/skills/interceptor/(withSKILL.md,agents/,references/). It loads automatically when the working directory is the interceptor repo, via the.agents/skills/↔.claude/skills/symlink convention documented in Interceptor's README §"Agent Instructions".It is not installed at
~/.pai/skills/interceptor, so it does not appear in the global PAI skill set when working in any other repo. PAI's skill discovery scans~/.pai/skills/(and~/.claude/skills/for Claude Code), not arbitrary repo-local paths — so this is a distribution gap, not an authoring gap.Current state
The skill's frontmatter description currently reads:
That framing is Codex-specific. PAI skills follow a different trigger convention (e.g.
Scraping/SKILL.md):Gap
USE WHEN <verb-noun>, …convention, so PAI's skill matcher will not surface it on natural language requests like "open this URL in my logged-in browser" or "extract LinkedIn event attendees".interceptor; PAI skills tree uses TitleCase (Research,Scraping,Investigation, …). Decide whether to rename or leave lowercase deliberately.Proposed work
~/.pai/skills/Interceptor/(orinterceptor/— TBD).descriptionwith PAI-styleUSE WHEN <trigger>, <trigger>, …triggers covering the skill's real surface area: browser automation, signed-in session, scrape live page, extract LinkedIn event, click element, fill form, read network traffic, drive Canva / Google Docs / Slides, native macOS automation, AX tree, record session, replay session.~/projects/interceptor/.agents/skills/interceptor/) or stage an independent copy. Symlink keeps the source of truth in the interceptor repo; copy decouples PAI from a project repo's lifecycle.Related
~/.claude/skills/vs~/.pai/skills/resolution gap).~/.pai/skills/runtime.~/.pai/commands/— adjacent staging-pipeline issue.Open questions
~/.pai/skills/(with the product repo symlinking out)? This issue is one instance of the wider question.interceptor(matches repo + binary) or TitleCaseInterceptor(matches PAI convention)?