global setup and configuration.

This commit is contained in:
jb
2026-08-24 16:33:11 -04:00
parent 10f64b593b
commit 31c9363dbb
95 changed files with 12641 additions and 41 deletions
+34
View File
@@ -0,0 +1,34 @@
---
name: manage-pi-links
description: Reconcile harness-tools' repository-managed Pi resources. Use in this repository when asked to check, sync, repair, install, or prune skill links, extension links, or local-path Pi package entries.
---
# Manage Pi Links
Treat [`config/pi-links.json`](../../../config/pi-links.json) as the source of truth and [`scripts/pi-links.mjs`](../../../scripts/pi-links.mjs) as the only mutation interface. Keep this skill repository-local; its own exposure is the relative `.pi/skills/manage-pi-links` link.
## Classify the request
- For inspection, status, or troubleshooting, run `./scripts/pi-links.mjs check` and report every drift or conflict.
- For sync, repair, or installation, run `./scripts/pi-links.mjs sync --dry-run` first. Apply with `./scripts/pi-links.mjs sync` only when the request authorizes global changes.
- For pruning, run `./scripts/pi-links.mjs prune --dry-run`, show every removal, and obtain explicit confirmation before running `./scripts/pi-links.mjs prune`.
- For a new resource, update the manifest classification before synchronization. Skills are discovered automatically; list repository-only skills under `skills.projectOnly` and intentionally unavailable skills under `skills.excluded`. List global instruction files under `instructions.globalSymlinks`. List global extension directories under `extensions.globalSymlinks` or extension files under `extensions.globalLocalPackages`.
## Reconcile
1. Run commands from the repository root.
2. Read the manifest entry and the resource's `SKILL.md` or `index.ts` when diagnosing a mismatch.
3. Resolve manifest validation errors before applying changes. Require unique skill names and existing entry points.
4. Preserve collisions. The manager refuses regular files, directories, and links whose targets are outside this repository; report these for a human decision instead of replacing them manually.
5. Apply the authorized operation through `scripts/pi-links.mjs`.
6. Run `./scripts/pi-links.mjs check` again. Completion requires exit code zero.
7. Tell the user to run `/reload` when skill or extension exposure changed in the active Pi session.
## Exposure conventions
- Link shared global instructions into Pi's `AGENTS.md`, Codex's `AGENTS.md`, and Claude's `CLAUDE.md`; use a Claude import file when Claude should reference the shared instructions rather than link to them directly.
- Link globally shared skills into `~/.agents/skills/` for cross-harness discovery.
- Link repository-only skills into `.pi/skills/` with relative targets.
- Link live-development Pi extensions into `~/.pi/agent/extensions/` with absolute targets.
- Register manifest-declared local package files through `pi install`; let the manager invoke Pi rather than editing `~/.pi/agent/settings.json` directly.
- Prune only repository-owned exposure discovered by the manager. Leave unrelated global resources untouched.