Skip to content

Promote interceptor skill from repo-local to ~/.pai/skills/ with PAI-flavoured triggers #155

@virtualian

Description

@virtualian

Context

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.

Current state

~/projects/interceptor/.agents/skills/interceptor/
├── SKILL.md
├── agents/
└── references/

The skill's frontmatter description currently reads:

"Use when Codex should use the interceptor CLI to operate a live signed-in browser or macOS app…"

That framing is Codex-specific. PAI skills follow a different trigger convention (e.g. Scraping/SKILL.md):

"…USE WHEN scraping, Bright Data, proxy, crawl, scrape URL, Twitter scraping, …"

Gap

  1. Distribution — interceptor skill is invisible to PAI outside the interceptor repo.
  2. 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".
  3. 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.

Related

Open questions

  • 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)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions