Skip to content
Closed
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
12 changes: 12 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "kevintram-plugins",
"interface": { "displayName": "Kevin's plugins" },
"plugins": [
{
"name": "pstack",
"source": { "source": "local", "path": "./harness/pstack/codex" },
"policy": { "installation": "AVAILABLE", "authentication": "ON_INSTALL" },
"category": "Developer Tools"
}
]
}
5 changes: 2 additions & 3 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"name": "cursor-plugins",
"name": "kevintram-plugins",
"owner": {
"name": "Cursor",
"email": "plugins@cursor.com"
"name": "Kevin Tram"
},
"plugins": [
{
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/validate-plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
paths:
- ".cursor-plugin/marketplace.json"
- ".claude-plugin/marketplace.json"
- ".agents/plugins/marketplace.json"
- "**/plugin.json"
- "schemas/**"
- "pstack/**"
Expand All @@ -30,3 +31,9 @@ jobs:

- name: Check generated pstack harness trees
run: node scripts/generate-pstack-harness-trees.mjs --check

- name: Check generated Codex package
run: node scripts/generate-pstack-codex.mjs --check

- name: Test native package generation
run: node --test scripts/pstack-harness.test.mjs
35 changes: 35 additions & 0 deletions PSTACK-NATIVE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Maintaining native pstack packages

`pstack/` remains the shared upstream source. The generated packages are separate:

| Host | Adapter | Generated package |
| --- | --- | --- |
| Claude Code | `pstack/docs/harness/claude-code.md` | `harness/pstack/claude-code/` |
| Codex | `pstack/docs/harness/codex.md` | `harness/pstack/codex/` |

Like the Claude Code package, the Codex package translates the shared prose at runtime through its adapter instead of forking it. Every Codex skill links to the adapter before the shared instructions, takes its directory name as its skill name, and maps upstream `disable-model-invocation` to `allow_implicit_invocation` in `agents/openai.yaml`. The agent Markdown files are portable prompts, not registered Codex agents. Like the Claude Code tree, the package ships skills, agents, and the adapter; links to the guide and README point at GitHub. Both packages leave out `make-bot-ui` and the lines that link to it, because it needs Grok Bot host tools; it stays in `pstack/` for Cursor.

## Regenerate and verify

After incorporating upstream changes or editing either adapter:

```sh
node scripts/generate-pstack-harness-trees.mjs
node scripts/generate-pstack-codex.mjs
node scripts/generate-pstack-harness-trees.mjs --check
node scripts/generate-pstack-codex.mjs --check
node --test scripts/pstack-harness.test.mjs
```

Commit source and generated changes together. CI checks both packages. Inspect new host-specific workflows when updating upstream: a byte-for-byte regeneration check cannot prove behavioral compatibility. Package versions follow upstream; the fork's Git revision identifies adapter changes within a version.

## Install Codex from this checkout

```sh
codex plugin marketplace add <path-to-this-checkout>
codex plugin add pstack@kevintram-plugins
```

After these changes are published, the marketplace can instead be added as `kevintram/plugins`. Start a new task and invoke `$poteto-mode`. Keep the native package separate from personal skills; do not also install its individual skill directories into shared agent directories.

No Codex profiles, hooks, model rules, or automations are installed. `$setup-pstack` reports available capabilities; models inherit the parent. Cursor integrations and bundled Cursor-oriented programs are not automatically usable in Codex. See the adapter for exact fallbacks and limitations.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Cursor plugins

> [!NOTE]
> This is a fork of [`cursor/plugins`](https://github.com/cursor/plugins) that adds a native Codex build of pstack. The build is generated into `harness/pstack/codex/` and installs from `.agents/plugins/marketplace.json`. The upstream plugins are otherwise unchanged. See [PSTACK-NATIVE.md](PSTACK-NATIVE.md) for setup.

Official Cursor plugins for popular developer tools, frameworks, and SaaS products. Each plugin is a standalone directory at the repository root with its own `.cursor-plugin/plugin.json` manifest.

## Plugins
Expand Down
117 changes: 0 additions & 117 deletions harness/pstack/claude-code/skills/make-bot-ui/SKILL.md

This file was deleted.

1 change: 0 additions & 1 deletion harness/pstack/claude-code/skills/poteto-help/SKILL.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions harness/pstack/codex/.codex-plugin/plugin.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions harness/pstack/codex/LICENSE

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions harness/pstack/codex/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions harness/pstack/codex/agents/comment-sicko.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions harness/pstack/codex/agents/poteto-agent.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading