Personal plugin marketplace for Claude Code, with experimental Codex support
7 plugins •
46 skills •
15 MCP servers •
dual-host
A single repo that ships Oliver Ames' personal plugin catalog to two AI coding agents at once: Claude Code (official, supported) and Codex (experimental). The same plugin tree carries both manifest formats side by side, so one git push updates both hosts.
Running two agents without duplicating content is a real problem. Claude Code and Codex both adopted a plugin/skill model in early 2026, but they publish incompatible marketplace manifests at different paths (.claude-plugin/ vs .agents/plugins/) and different schemas. Most marketplaces ship only one. That forces users to either pick an agent or maintain parallel forks.
ames-claude takes the additive route. One tree, two manifest namespaces, identical skill and MCP content underneath. Skills are portable by spec (the SKILL.md format is shared across hosts per Anthropic's Agent Skills and OpenAI's Codex Skills). Only the plugin and marketplace manifests differ, and both sit in the same repo. The cost is a small amount of duplicated JSON; the benefit is a single source of truth for an otherwise split ecosystem.
Claude Code support is production. Codex support is experimental, since Codex's plugin marketplace launched March 2026 and its CLI surface is still stabilizing.
Declarative install. Add to ~/.claude/settings.json:
{
"extraKnownMarketplaces": {
"ames-claude": {
"source": { "source": "github", "repo": "oliverames/ames-claude" },
"autoUpdate": true
}
},
"enabledPlugins": {
"ames-standalone-skills@ames-claude": true,
"ames-preferred-mcps@ames-claude": true,
"ames-ynab@ames-claude": true,
"ames-lytho@ames-claude": true,
"ames-community-skills@ames-claude": true,
"build-ios-apps-codex@ames-claude": true,
"build-macos-apps-codex@ames-claude": true
}
}Restart Claude Code. The marketplace registers, plugins install, and autoUpdate keeps them current on each launch.
Interactive install. Or run:
/plugin marketplace add oliverames/ames-claude
/plugin install ames-standalone-skills@ames-claude
/plugin install ames-preferred-mcps@ames-claude
/plugin install ames-ynab@ames-claude
/plugin install ames-lytho@ames-claude
/plugin install ames-community-skills@ames-claude
/plugin install build-ios-apps-codex@ames-claude
/plugin install build-macos-apps-codex@ames-claude
codex marketplace add https://github.com/oliverames/ames-claude
Then install plugins through Codex's plugin UI or CLI. build-ios-apps-codex and build-macos-apps-codex are intentionally absent from the Codex side (see below).
Heads-up: Codex's marketplace commands are still stabilizing. Verify exact syntax with
codex --helpbefore scripting. File an issue if any Codex manifest in this repo falls out of spec.
Seven plugins ship in this marketplace:
| Plugin | Hosts | Version | Summary |
|---|---|---|---|
ames-standalone-skills |
Claude + Codex | 3.5.0 | Oliver's original skill pack (28 skills) |
ames-preferred-mcps |
Claude + Codex | 2.0.0 | 13 curated third-party MCP servers |
ames-ynab |
Claude + Codex | 2.0.0 | Custom YNAB MCP connector |
ames-lytho |
Claude + Codex | 1.0.0 | Custom Lytho Workflow MCP connector |
ames-community-skills |
Claude + Codex | 2.0.0 | Third-party skills without upstream marketplaces |
build-ios-apps-codex |
Claude only | 1.0.0 | 6 iOS dev skills converted from OpenAI's Codex plugin |
build-macos-apps-codex |
Claude only | 1.0.0 | 11 macOS dev skills + 3 commands converted from OpenAI's Codex plugin |
Oliver's original Claude Code skills covering writing, development, automation, finance, and Apple platform work. 28 skills organized by theme (see Skills catalog).
A single plugin that activates 13 curated third-party MCP servers:
| MCP | Purpose |
|---|---|
apple-docs |
Apple Developer documentation search and WWDC lookup |
apple-notifier |
Native macOS notifications, speech, screen capture |
drafts |
Drafts.app integration for note capture |
excel |
Excel workbook manipulation |
google-workspace |
Gmail, Calendar, Drive, Docs, Sheets, Tasks, Meet |
iMCP |
Apple event bridge (calendars, reminders) |
macos-automator |
AppleScript and JXA via osascript |
markitdown |
Convert files to Markdown |
pandoc |
Universal document conversion |
peekaboo |
macOS UI automation and screen capture |
SimGenie |
iOS Simulator helpers |
sosumi |
Apple documentation fetcher |
XcodeBuildMCP |
Xcode build/run/test for simulators and devices |
Some servers depend on locally installed apps or additional credentials.
Activates ynab-mcp-server (published as @oliverames/ynab-mcp-server on npm) for read and write access to YNAB budgets, transactions, categories, scheduled transactions, and payees.
Required env: YNAB_API_TOKEN
Activates lytho-mcp-server (published as @oliverames/lytho-mcp-server on npm) for read and write access to Lytho work requests, tasks, proofs, projects, campaigns, and preferences through the Lytho Open API.
Required env: LYTHO_CLIENT_ID, LYTHO_CLIENT_SECRET, LYTHO_TOKEN_URL
A wrapper for third-party skills that ship as bare SKILL.md files with no upstream marketplace of their own. Currently one skill:
When an upstream author publishes their own marketplace (as twostraws did with SwiftUI Pro), that upstream is preferred and the skill leaves this plugin.
Claude Code only. 6 iOS development skills converted from OpenAI's build-ios-apps Codex plugin (MIT): ios-app-intents, ios-debugger-agent, swiftui-liquid-glass, swiftui-performance-audit, swiftui-ui-patterns, swiftui-view-refactor. Each lives at plugins/build-ios-apps-codex/skills/<name>/. Run ./plugins/build-ios-apps-codex/update.sh to resync from the local Codex plugin cache.
Claude Code only. 11 macOS development skills plus 3 commands converted from OpenAI's build-macos-apps Codex plugin (MIT): appkit-interop, build-run-debug, liquid-glass, packaging-notarization, signing-entitlements, swiftpm-macos, swiftui-patterns, telemetry, test-triage, view-refactor, window-management. Commands: build-and-run-macos-app, fix-codesign-error, test-macos-app. Run ./plugins/build-macos-apps-codex/update.sh to resync from the local Codex plugin cache.
Both plugins originated in openai/plugins and were adapted for Claude Code. They are omitted from the Codex marketplace manifest by design, since installing them in Codex would re-import already-diverged skills.
28 skills in ames-standalone-skills, grouped by theme:
Writing and communications
oliver-tone— Apply Oliver's writing voice to drafts, emails, blog posts, announcementsdraft-comms— Turn meeting notes, transcripts, or action lists into follow-up messagesreadme-style— Apply Oliver's README conventions (used to author this very file)resume-style— Ames-inspired resume typography and layoutobsidian-notes— Format Markdown notes to match Oliver's vault style
Apple platform and media
apple-music-rip— Download DRM-free Apple Music tracksaudible-library— Download and back up Audible audiobooksapple-notes-formatting— Format content for Apple Notesapple-workout-generator— Create.workoutfiles for Apple Watchmacos-app-icons— Extract high-res app icons from.appbundlessmart-transcribe— Transcribe audio with cleanup and speaker attributiongenerate-image— Generate and edit images via AI toolscreate-shortcut— Build Apple Shortcuts via Jelly or raw plistios-capabilities— Reference for entitlements and Info.plist keystestflight-deployment— Deploy iOS apps to TestFlight with CI/CD
Finance
ynab-finance— Household finance via YNAB (reviews, reconciliation, reporting)
BCBS VT (work-specific)
bcbs-vt— Context and guidance for BCBS VT workbcbs-meeting-notes— Structure BCBS VT transcripts into notes with action itemsbcbs-wrap-up— End-of-session wrap-up, syncs to Asana
Workflow and tooling
go— End-to-end verify/simplify/ship pipeline, triggered by/gowrap-up— Session wrap-up with state persistenceclaude-code-headless— Interact with Claude Code from other contextscmux-workflows— Tooling for cmux workspacesshared-terminal-tmux— Shared interactive terminal for user and agentauto-web-search— Automatic web search when stuck on a problemfile-organization— Oliver's file naming and organization conventions
Context and integrations
1password-vault— Store, retrieve, and rotate credentials in 1Passwordgmcf-masters-swim— Daily GMCF masters swim workout lookup
Plus 6 skills in build-ios-apps-codex, 11 skills (+ 3 commands) in build-macos-apps-codex, and 1 in ames-community-skills (humanizer).
15 MCP servers across three plugins:
| Plugin | Server | Package |
|---|---|---|
ames-lytho |
lytho-mcp-server |
@oliverames/lytho-mcp-server |
ames-ynab |
ynab-mcp-server |
@oliverames/ynab-mcp-server |
ames-preferred-mcps |
13 third-party servers | See plugin table above |
The repo carries two parallel manifest namespaces under a shared plugin tree:
ames-claude/
├── .claude-plugin/marketplace.json # Claude Code marketplace (authoritative)
├── .agents/plugins/marketplace.json # Codex marketplace (experimental)
└── plugins/
└── <plugin-name>/
├── .claude-plugin/plugin.json # Claude Code plugin manifest
├── .codex-plugin/plugin.json # Codex plugin manifest (if applicable)
├── .mcp.json # MCP server config (portable across hosts)
└── skills/<skill-name>/SKILL.md # Skill files (portable across hosts)
| Host | Marketplace manifest | Per-plugin manifest | Plugins |
|---|---|---|---|
| Claude Code | .claude-plugin/marketplace.json |
.claude-plugin/plugin.json |
7 |
| Codex (experimental) | .agents/plugins/marketplace.json |
.codex-plugin/plugin.json |
5 (excludes build-ios-apps-codex, build-macos-apps-codex) |
- Skill content (
SKILL.mdand bundled resources) is portable by spec - MCP configs (
.mcp.json) use the same shape on both hosts - Plugin content structurally matches on both sides
- Plugin and marketplace manifests differ in location and schema; they live side by side in the same repo
build-ios-apps-codexandbuild-macos-apps-codexare Claude Code only by design (converted-from-Codex skills can't round-trip cleanly, since they already exist upstream inopenai/plugins)- Third-party marketplaces that publish only one manifest format can't be rewrapped by ames-claude. Install those from upstream wherever the author supports
Per-plugin environment requirements:
| Plugin | Variable | Required | Purpose |
|---|---|---|---|
ames-ynab |
YNAB_API_TOKEN |
Yes | YNAB Personal Access Token |
ames-lytho |
LYTHO_CLIENT_ID |
Yes | Lytho OAuth client ID |
ames-lytho |
LYTHO_CLIENT_SECRET |
Yes | Lytho OAuth client secret |
ames-lytho |
LYTHO_TOKEN_URL |
Yes | Lytho OAuth token endpoint |
ames-preferred-mcps |
varies | varies | Some servers require their own credentials or apps |
Credentials are never stored in the repo. MCPs reference environment variables at runtime, with secrets resolved from the user's local configuration.
Each plugin's version lives in three places that must stay in sync:
plugins/<name>/.claude-plugin/plugin.json— Claude-side authoritativeplugins/<name>/.codex-plugin/plugin.json— Codex mirror (must match 1)- Root
.claude-plugin/marketplace.json— per-pluginversion(must match 1)
The marketplace itself has a separate version at .claude-plugin/marketplace.json's top-level metadata.version, currently 3.4.0.
Workflow scripts at the repo root (sync, bump-and-sync) help keep these aligned after content changes. Always run one of those before committing version-bearing changes.
- Create
plugins/ames-standalone-skills/skills/<skill-name>/SKILL.mdwith YAML frontmatter (name,description) - Add supporting files (references, scripts) in subdirectories as needed
- Run
bump-and-syncfrom the repo root - Commit and push; Claude Code users with
autoUpdatepick it up on next launch
- Create
plugins/<plugin-name>/.claude-plugin/plugin.jsonwithname,version,description,author - For dual-host support, also create
plugins/<plugin-name>/.codex-plugin/plugin.jsonmirroring the Claude manifest with Codex-specificinterfaceandcategoryfields - Add the plugin entry to both
.claude-plugin/marketplace.jsonand.agents/plugins/marketplace.json - Add content (skills, commands, MCPs) at the plugin root per spec
- Run
bump-and-syncand commit
A complete snapshot of ~/.claude/settings.json, documented here so this repo doubles as a rebuilding reference. Kept in sync by the wrap-up skill: any session that changes ~/.claude/settings.json or installs or removes a plugin also updates the tables below and commits the result. If this machine died tomorrow, these tables plus a fresh ~/.claude/settings.json would reconstruct the environment.
14 marketplaces declared in extraKnownMarketplaces (all with autoUpdate: true), plus claude-plugins-official as the built-in default.
| Marketplace | Source | Why it's installed |
|---|---|---|
claude-plugins-official |
anthropics/claude-plugins-official |
Built-in default. Anthropic's official curated plugin directory |
ames-claude |
oliverames/ames-claude |
This repo. Oliver's personal plugin marketplace |
claude-community |
anthropics/claude-plugins-community |
Anthropic-stewarded community plugins |
anthropic-agent-skills |
anthropics/skills |
Anthropic's open-source Agent Skills (Claude API, document skills) |
knowledge-work-plugins |
anthropics/knowledge-work-plugins |
Anthropic's knowledge-work plugins (PDF viewer, SEO, ads) |
apple-notes-mcp |
sweetrb/apple-notes-mcp |
Apple Notes MCP integration |
axiom-marketplace |
CharlesWiltgen/Axiom |
Axiom plugin marketplace (registered but no plugins enabled) |
claudeskillz |
tsilva/claudeskillz |
Output stylers and README authoring skills |
addy-agent-skills |
addyosmani/agent-skills |
Addy Osmani's curated agent skills |
claude-code-workflows |
wshobson/agents |
Workflow-oriented agent pack (registered but no plugins enabled) |
claude-code-plugins-plus |
jeremylongshore/claude-code-plugins |
Additional community plugins (registered but no plugins enabled) |
skill-codex |
skills-directory/skill-codex |
Codex CLI interop skill |
a5c.ai |
a5c-ai/babysitter |
Babysitter workflow orchestration |
karpathy-skills |
forrestchang/andrej-karpathy-skills |
Karpathy-inspired coding guidelines |
swiftui-agent-skill |
twostraws/SwiftUI-Agent-Skill |
Paul Hudson's SwiftUI Pro (replaced previously vendored copy) |
Grouped by source marketplace. Each plugin@marketplace key in enabledPlugins is listed below with its purpose.
claude-plugins-official (24 plugins):
| Plugin | Purpose |
|---|---|
frontend-design |
Production-quality UI component generation |
superpowers |
Core skill framework (brainstorming, debugging, TDD, code review, git worktrees, etc.) |
context7 |
Real-time library documentation lookup |
github |
GitHub issue, PR, and release management |
feature-dev |
Guided feature development workflow |
playwright |
Browser automation via Playwright |
skill-creator |
Scaffold and validate new Agent Skills |
ralph-loop |
Loop-based iterative workflow |
claude-md-management |
Audit and maintain CLAUDE.md files |
typescript-lsp |
TypeScript language server |
security-guidance |
Security review and hardening prompts |
commit-commands |
Conventional git commit workflow |
claude-code-setup |
Recommend Claude Code automations for a codebase |
pyright-lsp |
Python language server |
explanatory-output-style |
Sets the "Explanatory" output style |
plugin-dev |
Plugin scaffolding and development tools |
learning-output-style |
Learning-oriented output style option |
chrome-devtools-mcp |
Chrome DevTools Protocol integration |
firecrawl |
Web search, scraping, and skill generation from URLs |
swift-lsp |
Swift language server |
remember |
Session state persistence |
imessage |
iMessage send/receive integration |
mcp-server-dev |
Build MCP servers and apps |
gopls-lsp |
Go language server |
ames-claude (4 of 7 available enabled): ames-standalone-skills, ames-preferred-mcps, ames-ynab, ames-community-skills. The remaining three plugins (ames-lytho, build-ios-apps-codex, build-macos-apps-codex) are published in the marketplace but not currently enabled at the user level. The next wrap-up session will reconcile ~/.claude/settings.json against the marketplace and may enable/disable plugins accordingly.
knowledge-work-plugins (3): adspirer-ads-agent (ad campaign analytics), pdf-viewer (interactive PDF), searchfit-seo (SEO audits and content strategy)
claudeskillz (4): bash-output-styler, python-output-styler, project-readme-author, project-spec-extractor
anthropic-agent-skills (2): claude-api (Claude API and SDK best practices), document-skills (pptx, docx, xlsx, pdf, frontend-design, mcp-builder)
apple-notes-mcp (1): apple-notes — Apple Notes MCP
addy-agent-skills (1): agent-skills — Addy Osmani's agent skills pack
skill-codex (1): skill-codex — Codex CLI interop for code analysis and refactoring
a5c.ai (1): babysitter — Workflow orchestration via @babysitter
karpathy-skills (1): andrej-karpathy-skills — Anti-overengineering coding guidelines
swiftui-agent-skill (1): swiftui-pro — Paul Hudson's SwiftUI review skill
Defined in env block of ~/.claude/settings.json and at session launch. OP_SERVICE_ACCOUNT_TOKEN is intentionally omitted from this record.
Claude Code runtime:
| Variable | Value | Why |
|---|---|---|
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS |
1 |
Opt into experimental agent teams feature for multi-agent workflows |
ENABLE_TOOL_SEARCH |
1 |
Enable deferred-tool search via the ToolSearch tool, keeping the initial tool list short |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
85 |
Auto-compact context at 85% of window rather than the default 95%, for more headroom before compression |
CLAUDE_CODE_NO_FLICKER |
1 |
Suppress terminal redraw flicker during streaming output |
BASH_MAX_OUTPUT_LENGTH |
200000 |
Raise the Bash output truncation limit to 200KB for long-running commands (tests, builds) |
Plugin credentials (set in shell, not in settings.json):
| Variable | Used by | Source |
|---|---|---|
YNAB_API_TOKEN |
ames-ynab |
YNAB Personal Access Token, create at https://app.ynab.com/settings/developer |
LYTHO_CLIENT_ID |
ames-lytho |
Lytho OAuth client ID |
LYTHO_CLIENT_SECRET |
ames-lytho |
Lytho OAuth client secret |
LYTHO_TOKEN_URL |
ames-lytho |
Lytho OAuth token endpoint |
Other plugin-specific credentials (for servers in ames-preferred-mcps and some third-party plugins) are resolved at runtime through local configuration rather than stored in the repo.
permissions.defaultMode is auto (auto-allow tools on the allowlist without prompting). The allowlist covers core file I/O, search, language tooling, skills, agents, and teamwork primitives so those never interrupt flow:
Read, Edit, Write, Glob, Grep, NotebookEdit, TaskCreate, TaskUpdate, TaskList, TaskGet, TaskStop, LSP, Agent, Skill, ToolSearch, ListMcpResourcesTool, ReadMcpResourceTool, EnterWorktree, TeamCreate, TeamDelete, SendMessage
deny is empty. Tools outside the allowlist still require explicit approval. Two additional flags suppress specific prompts: skipAutoPermissionPrompt: true (no repeated prompts for the same tool) and skipDangerousModePermissionPrompt: true (no warning when entering dangerous mode).
Two PostToolUse hooks, both in hooks.PostToolUse:
| Matcher | Command | Effect |
|---|---|---|
Bash |
Python one-liner that checks if the bash command contained git commit, and if so prints ✅ Committed and the latest commit summary |
Lightweight confirmation that a commit actually landed, useful during multi-commit sessions |
Edit|Write |
bash ~/Library/Mobile Documents/com~apple~CloudDocs/Developer/Scripts/validate-skill |
Runs the validate-skill shell script after any file edit or write, to catch skill authoring errors (malformed frontmatter, broken references) at write time |
statusLine.command runs bash ~/.claude/statusline-command.sh, which renders a custom status line.
| Setting | Value | Why |
|---|---|---|
outputStyle |
Explanatory |
Default to the explanatory style, which surfaces educational insights alongside changes. Useful when the point of a session is learning as much as shipping |
alwaysThinkingEnabled |
true |
Extended thinking on for every turn, not just complex ones. Opus 4.7 uses the thinking budget adaptively |
effortLevel |
xhigh |
Maximum effort tier; Claude plans harder and verifies more before acting |
autoDreamEnabled |
true |
Background reflection between turns (experimental) |
teammateMode |
auto |
Auto-spawn teammate agents when the workflow obviously benefits from parallelism |
viewMode |
focus |
Focused UI mode: hide non-essential chrome |
voiceEnabled |
true |
Voice I/O on for spoken prompts and replies |
remoteControlAtStartup |
true |
Accept remote-control connections from other clients at launch |
| Setting | Value | Why |
|---|---|---|
cleanupPeriodDays |
45 |
Keep conversation history for 45 days instead of the default, since some projects span weeks |
autoUpdatesChannel |
latest |
Track the bleeding-edge Claude Code release channel |
feedbackSurveyRate |
0 |
Disable in-product feedback surveys |
enableAllProjectMcpServers |
true |
Project-level MCP servers from .mcp.json load automatically without per-project opt-in |
The wrap-up skill runs a config-drift check at end of session. If any of these change during a session, the wrap-up flow updates this section and commits the change:
- New plugin enabled or disabled in
~/.claude/settings.json - New marketplace added to
extraKnownMarketplaces - New env variable added to
env - Any top-level settings value changes
- Any hook added, removed, or modified
This is what makes the configuration record trustworthy: it doesn't go stale because the wrap-up ritual won't let it.
| Thing | Role |
|---|---|
oliverames/dotfiles |
Shell config, install script, system-wide hooks |
oliverames/scripts |
CLI tools including sync utilities |
oliverames/claude-code-backup |
Mirror of ~/.claude/ with secrets redacted |
| openai/plugins | Upstream for build-ios-apps-codex and build-macos-apps-codex converted skills |
| twostraws/SwiftUI-Agent-Skill | Recommended companion marketplace for SwiftUI Pro |
| blader/humanizer | Upstream for humanizer in ames-community-skills |
Built by Oliver Ames in Vermont • GitHub • LinkedIn • Bluesky