Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@
"policy": {
"installation": "AVAILABLE"
}
},
{
"name": "mattpocock-skills",
"source": {
"source": "local",
"path": "./third_party/mattpocock-skills"
},
"category": "Developer Tools",
"policy": {
"installation": "AVAILABLE"
}
}
]
}
60 changes: 0 additions & 60 deletions .agents/skills/README.md

This file was deleted.

83 changes: 83 additions & 0 deletions docs/agents/mattpocock-skills.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Matt Pocock skills integration

This repository carries Matt Pocock's promoted engineering/productivity skills as a
**repository-local Codex plugin** under:

`third_party/mattpocock-skills/`

The plugin is exposed by the same local marketplace used for Ponytail:

`.agents/plugins/marketplace.json`

## Why this is an adapter

Upstream `mattpocock/skills` intentionally defers a native Codex plugin. Codex plugin
manifests accept one recursive `skills` path, while upstream separates promoted skills
across `skills/engineering/` and `skills/productivity/` alongside non-promoted
`misc/`, `in-progress/`, and `deprecated/` buckets.

This repository solves only that packaging constraint:

- the 25 promoted skill directories are copied into one flat `skills/` tree
- each skill directory is otherwise copied unchanged
- support documents, scripts, and `agents/openai.yaml` metadata stay with the skill
- the project-authored `.codex-plugin/plugin.json` points at `./skills/`

No skill behavior is rewritten.

## Install

Install both repository-local agent plugins with:

Windows:

```powershell
./scripts/setup-agent-plugins.ps1
```

POSIX:

```bash
./scripts/setup-agent-plugins.sh
```

This installs:

- `ponytail@llama-cpp-local`
- `mattpocock-skills@llama-cpp-local`

## Updating

Refresh Matt's promoted skill bundle from upstream with:

```powershell
./scripts/update-mattpocock-skills.ps1
```

or:

```bash
./scripts/update-mattpocock-skills.sh
```

The updater clones current upstream `main`, copies only the curated 25 promoted
skills, records the upstream commit, and regenerates the thin Codex manifest using the
upstream package version.

Always review the resulting diff before committing.

## Upstream provenance

The current source revision is recorded in:

`third_party/mattpocock-skills/UPSTREAM_REVISION`

The initial repository-local plugin migration uses:

`mattpocock/skills@c55ee46073ed923f86ce59a5eb3b6d895095d1b7`

## Previous installation model

The earlier `.agents/skills/` copies and `skills` CLI update scripts are intentionally
removed. Matt's skill set and Ponytail now share one repository-local Codex marketplace
and the same reviewable third-party dependency model.
34 changes: 34 additions & 0 deletions scripts/setup-agent-plugins.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
$ErrorActionPreference = "Stop"

function Require-Command([string]$Name) {
if (-not (Get-Command $Name -ErrorAction SilentlyContinue)) {
throw "'$Name' is required but was not found on PATH."
}
}

Require-Command "node"
Require-Command "codex"

$RepoRoot = Split-Path -Parent $PSScriptRoot
Push-Location $RepoRoot
try {
$marketplaces = (& codex plugin marketplace list 2>&1 | Out-String)
if ($marketplaces -notmatch "llama-cpp-local") {
Write-Host "Registering the repository-local plugin marketplace..."
& codex plugin marketplace add .
if ($LASTEXITCODE -ne 0) { throw "Failed to register the local marketplace." }
}

foreach ($Plugin in @("ponytail", "mattpocock-skills")) {
Write-Host "Installing $Plugin from llama-cpp-local..."
& codex plugin add "$Plugin@llama-cpp-local"
if ($LASTEXITCODE -ne 0) { throw "Failed to install $Plugin." }
}
}
finally {
Pop-Location
}

Write-Host ""
Write-Host "Repository-local agent plugins are installed."
Write-Host "Open /hooks in Codex and review/trust Ponytail's lifecycle hooks."
24 changes: 24 additions & 0 deletions scripts/setup-agent-plugins.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -euo pipefail

command -v node >/dev/null 2>&1 || { echo "node is required but was not found on PATH." >&2; exit 1; }
command -v codex >/dev/null 2>&1 || { echo "codex is required but was not found on PATH." >&2; exit 1; }

repo_root="$(cd "$(dirname "$0")/.." && pwd)"
cd "$repo_root"

if ! codex plugin marketplace list 2>&1 | grep -q 'llama-cpp-local'; then
echo "Registering the repository-local plugin marketplace..."
codex plugin marketplace add .
fi

for plugin in ponytail mattpocock-skills; do
echo "Installing $plugin from llama-cpp-local..."
codex plugin add "$plugin@llama-cpp-local"
done

cat <<'EOF'

Repository-local agent plugins are installed.
Open /hooks in Codex and review/trust Ponytail's lifecycle hooks.
EOF
52 changes: 0 additions & 52 deletions scripts/update-agent-skills.ps1

This file was deleted.

37 changes: 0 additions & 37 deletions scripts/update-agent-skills.sh

This file was deleted.

Loading