Skip to content

oliverames/ames-claude

Repository files navigation

ames-claude

Personal plugin marketplace for Claude Code, with experimental Codex support

7 plugins46 skills15 MCP serversdual-host

Buy Me a Coffee


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.

Why this exists

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.

Quick start

Claude Code (official, supported)

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 (experimental)

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 --help before scripting. File an issue if any Codex manifest in this repo falls out of spec.

Plugins

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

ames-standalone-skills

Oliver's original Claude Code skills covering writing, development, automation, finance, and Apple platform work. 28 skills organized by theme (see Skills catalog).

ames-preferred-mcps

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.

ames-ynab

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

ames-lytho

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

ames-community-skills

A wrapper for third-party skills that ship as bare SKILL.md files with no upstream marketplace of their own. Currently one skill:

  • humanizer — Remove signs of AI-generated writing from text. Originally by blader.

When an upstream author publishes their own marketplace (as twostraws did with SwiftUI Pro), that upstream is preferred and the skill leaves this plugin.

build-ios-apps-codex

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.

build-macos-apps-codex

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.

Skills catalog

28 skills in ames-standalone-skills, grouped by theme:

Writing and communications

  • oliver-tone — Apply Oliver's writing voice to drafts, emails, blog posts, announcements
  • draft-comms — Turn meeting notes, transcripts, or action lists into follow-up messages
  • readme-style — Apply Oliver's README conventions (used to author this very file)
  • resume-style — Ames-inspired resume typography and layout
  • obsidian-notes — Format Markdown notes to match Oliver's vault style

Apple platform and media

Finance

  • ynab-finance — Household finance via YNAB (reviews, reconciliation, reporting)

BCBS VT (work-specific)

  • bcbs-vt — Context and guidance for BCBS VT work
  • bcbs-meeting-notes — Structure BCBS VT transcripts into notes with action items
  • bcbs-wrap-up — End-of-session wrap-up, syncs to Asana

Workflow and tooling

Context and integrations

Plus 6 skills in build-ios-apps-codex, 11 skills (+ 3 commands) in build-macos-apps-codex, and 1 in ames-community-skills (humanizer).

MCP servers catalog

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

Architecture

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)

What crosses the boundary

  • Skill content (SKILL.md and bundled resources) is portable by spec
  • MCP configs (.mcp.json) use the same shape on both hosts
  • Plugin content structurally matches on both sides

What does not

  • Plugin and marketplace manifests differ in location and schema; they live side by side in the same repo
  • build-ios-apps-codex and build-macos-apps-codex are Claude Code only by design (converted-from-Codex skills can't round-trip cleanly, since they already exist upstream in openai/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

Configuration

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.

Versioning

Each plugin's version lives in three places that must stay in sync:

  1. plugins/<name>/.claude-plugin/plugin.json — Claude-side authoritative
  2. plugins/<name>/.codex-plugin/plugin.json — Codex mirror (must match 1)
  3. Root .claude-plugin/marketplace.json — per-plugin version (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.

Development

Adding a new skill

  1. Create plugins/ames-standalone-skills/skills/<skill-name>/SKILL.md with YAML frontmatter (name, description)
  2. Add supporting files (references, scripts) in subdirectories as needed
  3. Run bump-and-sync from the repo root
  4. Commit and push; Claude Code users with autoUpdate pick it up on next launch

Adding a new plugin

  1. Create plugins/<plugin-name>/.claude-plugin/plugin.json with name, version, description, author
  2. For dual-host support, also create plugins/<plugin-name>/.codex-plugin/plugin.json mirroring the Claude manifest with Codex-specific interface and category fields
  3. Add the plugin entry to both .claude-plugin/marketplace.json and .agents/plugins/marketplace.json
  4. Add content (skills, commands, MCPs) at the plugin root per spec
  5. Run bump-and-sync and commit

My Claude Code configuration

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.

Installed marketplaces (15 total)

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)

Enabled plugins (44 total)

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

Environment variables

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

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).

Hooks

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

Status line

statusLine.command runs bash ~/.claude/statusline-command.sh, which renders a custom status line.

UI and agent behavior

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

Miscellaneous

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

Keeping this section current

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.

Related

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

Buy Me a Coffee

Built by Oliver Ames in Vermont • GitHubLinkedInBluesky

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors