foster-skills
Personal agent skills, one directory per skill under skills/. The repository is also a plugin, so Claude Code, Codex, ChatGPT, Cursor, and Grok Build can each install all of them at once with their scripts included.
Skills
foster-research-paper: pipeline from a research question to a published, illustrated post on the personal research site.foster-draft-review: annotated HTML feedback on personal drafts, with the source left untouched and reviews archived locally for later comparison.foster-project-checkin: a five-to-six-minute slide briefing on an AI-run project, as one HTML page, with status slides and decision slides interleaved so you can make the calls while the agent keeps working. Each deck opens with the mission and roadmap, digs into the product's usage data (adoption, surprises, data problems, progress toward the goal), and thinks like a PM: mocks of what to build next for your reaction, and the questions for users that would teach us the most.foster-fuzz: drives an app's real UI like a crowd of realistic users, through every flow and state it can reach, and reports the bugs and UI/UX problems it finds with screenshots and repro steps.
Install
Claude Code
/plugin marketplace add gregorymfoster/foster-skills
/plugin install foster-skills@foster-skills
Pull changes later with /plugin marketplace update foster-skills.
Codex and ChatGPT
codex plugin marketplace add gregorymfoster/foster-skills
codex plugin add foster-skills@foster-skills
Once the marketplace is added, the ChatGPT desktop app lists the plugin in its Plugins directory. OpenAI notes that repo marketplaces aren't on every ChatGPT surface yet.
Cursor
For yourself, link the repo into Cursor's local plugins folder:
mkdir -p ~/.cursor/plugins/local
ln -s "$(pwd)" ~/.cursor/plugins/local/foster-skills
Then run Developer: Reload Window. On a Teams or Enterprise plan, an admin can instead add the repo under Dashboard → Plugins & MCPs → Add Marketplace → Import from Repo, which reads .cursor-plugin/marketplace.json. You can also symlink one skill at a time into ~/.cursor/skills/ or ~/.codex/skills/:
ln -s "$(pwd)/skills/foster-research-paper" ~/.cursor/skills/foster-research-paper
Grok Build
grok plugin marketplace add gregorymfoster/foster-skills
grok plugin install foster-skills@foster-skills
Pull changes later with grok plugin marketplace update foster-skills. Grok also picks up skills from Claude Code installs, so if the Claude Code plugin is already installed you may not need this.
claude.ai
claude.ai doesn't install plugins. Add skills one at a time, from a skill card in a chat or by uploading a zipped skill folder in Settings.
Plugin files
plugin.json at the root is the single source of truth: name, version, description, author. Codex, ChatGPT, Cursor, and Grok read it directly, and Claude Code reads it too. Four marketplace files are generated from it: .claude-plugin/marketplace.json for Claude Code, .agents/plugins/marketplace.json for Codex and ChatGPT, .cursor-plugin/marketplace.json for Cursor team marketplaces, and .grok-plugin/marketplace.json for Grok Build. Don't edit them by hand. After changing plugin.json (bump version when skills change), run:
python3 scripts/sync_plugin.py
Tests
There is no CI. Run every test locally before pushing:
(for d in scripts skills/*/scripts; do python3 -m unittest discover -s "$d" -p 'test_*.py' || exit 1; done)
The test in scripts/ fails if the generated marketplace files have drifted from plugin.json.
License
MIT. See LICENSE.