{"id":48817398,"url":"https://github.com/oleg-koval/agent-skills","last_synced_at":"2026-05-02T09:02:19.580Z","repository":{"id":351190993,"uuid":"1201327278","full_name":"oleg-koval/agent-skills","owner":"oleg-koval","description":"Opinionated agent skill catalog for Codex, Claude, Cursor, Copilot, and launch workflows.","archived":false,"fork":false,"pushed_at":"2026-04-26T21:05:04.000Z","size":312,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T23:13:34.674Z","etag":null,"topics":["agent-skills","ai-agents","automation","claude","claude-code","codex","copilot","cursor","developer-tools","github-actions","github-copilot","launch","marketing","product-launch","semantic-release","skills","viral-launch"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oleg-koval.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-04T14:27:32.000Z","updated_at":"2026-04-26T21:05:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/oleg-koval/agent-skills","commit_stats":null,"previous_names":["oleg-koval/agent-skills"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/oleg-koval/agent-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleg-koval%2Fagent-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleg-koval%2Fagent-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleg-koval%2Fagent-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleg-koval%2Fagent-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oleg-koval","download_url":"https://codeload.github.com/oleg-koval/agent-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleg-koval%2Fagent-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-skills","ai-agents","automation","claude","claude-code","codex","copilot","cursor","developer-tools","github-actions","github-copilot","launch","marketing","product-launch","semantic-release","skills","viral-launch"],"created_at":"2026-04-14T12:04:04.737Z","updated_at":"2026-05-02T09:02:19.568Z","avatar_url":"https://github.com/oleg-koval.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eagent skills\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eAgent-agnostic skill catalog for Codex, Claude, Cursor, and other skill-aware tools.\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-16a34a\" alt=\"MIT license\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/skills-12-2563eb\" alt=\"12 skills\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/platforms-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20Copilot-111827\" alt=\"Codex Claude Cursor Copilot\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/status-public%20catalog-16a34a\" alt=\"Public catalog\"\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nAgent-agnostic skill collection for Codex, Claude, Cursor, and other skill-aware tools.\n\nThese skills are opinionated by design. They encode working defaults, preferred tools, and repeatable workflows instead of trying to be neutral snippets. Treat them as starting points with taste: useful out of the box, easy to inspect, and specific enough for an agent to execute consistently.\n\n## Structure\n\n- `packages/` — canonical skill packages organized by category\n- `catalog/` — machine-readable inventory\n- `collections/` — grouped package bundles\n- `scripts/` — sync and validation helpers\n\n## Principles\n\n- Keep one canonical skill package per workflow.\n- Put agent-specific wrappers in `adapters/` instead of duplicating the core skill.\n- Keep catalogs neutral and machine-readable.\n- Add marketplace-specific metadata on top of the canonical package, not instead of it.\n\n## Quick Start\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eCodex\u003c/b\u003e\u003c/summary\u003e\n\nInstall all package symlinks into your local Codex skills directory:\n\n```bash\ngit clone https://github.com/oleg-koval/agent-skills.git\ncd agent-skills\n./scripts/install-codex-symlinks.sh\n```\n\nThen mention a lookup name in a new Codex session:\n\n```text\nUse the olko:semantic-release-beta skill to add prereleases on a beta branch.\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eClaude Code\u003c/b\u003e\u003c/summary\u003e\n\nThe repository includes a generated Claude marketplace manifest at `.claude-plugin/marketplace.json`.\n\nFor local development, clone the repo and point Claude Code at the plugin directory:\n\n```bash\ngit clone https://github.com/oleg-koval/agent-skills.git\nclaude --plugin-dir /path/to/agent-skills\n```\n\nIf your Claude Code environment supports GitHub marketplace installs for this repo, add the marketplace source first:\n\n```text\n/plugin marketplace add oleg-koval/agent-skills\n```\n\nThen install the catalog plugin:\n\n```text\n/plugin install olko-agent-skills@olko-agent-skills\n```\n\nLive Claude marketplace install is not yet validated for this repo.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eCursor\u003c/b\u003e\u003c/summary\u003e\n\nThe repository includes a generated Cursor plugin index at `.cursor-plugin/index.json` and per-package Cursor adapters under `packages/*/*/adapters/cursor/`.\n\nFor a single project, copy the relevant `SKILL.md` or adapter content into `.cursor/rules/`, or reference the full package directory from your Cursor rules.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eGitHub Copilot\u003c/b\u003e\u003c/summary\u003e\n\nUse the generated repository instructions and prompt files:\n\n```text\n.github/copilot-instructions.md\n.github/prompts/*.prompt.md\n```\n\nThese files are generated from `catalog/skills.json` and can be copied into a repository that should use the same skill guidance.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eOther agents\u003c/b\u003e\u003c/summary\u003e\n\nSkills are plain Markdown. Use the canonical package file directly:\n\n```text\npackages/{category}/{skill}/SKILL.md\n```\n\nAgent-specific wrappers live under:\n\n```text\npackages/{category}/{skill}/adapters/\n```\n\n\u003c/details\u003e\n\n## All 12 Skills\n\nThese packages are the entry points. Each one is a structured workflow with concrete trigger conditions and execution steps. You can reference any skill directly by its `olko:*` lookup name.\n\n### Software development\n\n| Skill | What It Does | Use When |\n|-------|-------------|----------|\n| [docs-index-keeper](packages/software-development/docs-index-keeper/SKILL.md) | Keeps a Markdown docs index in sync through pre-commit, CI, or one-off maintenance flows | A repo has `docs/` and needs `docs/README.md` or another Markdown index updated automatically |\n| [semantic-release-beta](packages/software-development/semantic-release-beta/SKILL.md) | Sets up `semantic-release-npm-github-publish` with stable `main` releases and beta prereleases | A Node package needs stable npm publishing plus beta prereleases from a `beta` branch |\n| [changelog-generator](packages/software-development/changelog-generator/SKILL.md) | Generates user-facing changelogs and release notes from git history | Preparing release notes, app store update text, customer changelogs, or internal release summaries |\n| [gh-cli](packages/software-development/gh-cli/SKILL.md) | Guides GitHub CLI usage for repos, PRs, Actions, releases, issues, and related GitHub operations | Working with GitHub from the command line and needing reliable `gh` commands |\n| [git-commit](packages/software-development/git-commit/SKILL.md) | Creates conventional commits with diff-aware staging and message generation | The user asks to commit changes or wants a conventional commit message from the current diff |\n| [add-to-my-skills](packages/software-development/add-to-my-skills/SKILL.md) | Copies a skill from another repo into this catalog, then refreshes docs, manifests, commit, and push | Bringing a newly created skill into this repository |\n| [promptctl](packages/software-development/promptctl/SKILL.md) | Uses `promptctl` for reusable prompt templates, scoring, and workflow automation | A project needs prompt conventions, prompt review, prompt scoring, or reusable prompt workflows |\n| [product-builder](packages/software-development/product-builder/SKILL.md) | Builds a full-stack web app or SaaS product from a user description using production-oriented defaults | The user asks to build a complete app, SaaS, dashboard, or product rather than a prototype |\n\n### Music\n\n| Skill | What It Does | Use When |\n|-------|-------------|----------|\n| [fill-music-player](packages/music/fill-music-player/SKILL.md) | Fills a portable music player with a curated random music selection while balancing formats, artists, albums, and capacity | Copying music from a NAS or local library to a Walkman, iPod, USB drive, or similar device |\n\n### Marketing\n\n| Skill | What It Does | Use When |\n|-------|-------------|----------|\n| [viral-launch](packages/marketing/viral-launch/SKILL.md) | Sets up a project repository and launch plan for shareable marketing, public launch readiness, and growth loops | Preparing a repo, product, open-source package, waitlist, or creator tool for public launch |\n| [search-console-indexing-audit](packages/marketing/search-console-indexing-audit/SKILL.md) | Audits Google Search Console Coverage exports against sitemap, robots, canonical, redirect, and noindex signals | Diagnosing GSC indexing issues such as redirects, canonical alternates, and discovered but not indexed pages |\n\n### Photography\n\n| Skill | What It Does | Use When |\n|-------|-------------|----------|\n| [gallery](packages/photography/gallery/SKILL.md) | Creates photo galleries with AI-assisted layout curation and sequencing | Building a gallery from photos or planning photo layout, sequencing, and curation |\n\n## How to use skills\n\nInstall the Codex symlinks, then mention a skill by its lookup name in a new agent session:\n\n```bash\n./scripts/install-codex-symlinks.sh\n```\n\n```text\nUse the olko:semantic-release-beta skill to add prereleases on a beta branch.\n```\n\n```text\nUse the olko:gallery skill to build a photo gallery from this image folder.\n```\n\n```text\nUse the olko:add-to-my-skills skill to copy a skill from another repo into this catalog, update the README, and push the change.\n```\n\n```text\nUse the olko:viral-launch skill to make this project launch-ready.\n```\n\nEach package has a canonical `SKILL.md` under `packages/{category}/{skill}/`. Agent-specific wrappers live under that package's `adapters/` directory.\n\nWhen adding or changing a skill:\n\n1. Update the canonical `SKILL.md` first.\n2. Keep instructions concrete and operational.\n3. Add references only when the agent needs extra detail to execute the workflow.\n4. Update `catalog/skills.json` if the skill name, category, description, path, tags, or adapters change.\n5. Run local validation before publishing changes.\n\n## Root manifests\n\n- Claude marketplace manifest: `.claude-plugin/marketplace.json`\n- Cursor plugin index: `.cursor-plugin/index.json`\n- Copilot repository instructions: `.github/copilot-instructions.md`\n- Copilot prompt files: `.github/prompts/*.prompt.md`\n\nThese are generated from the neutral package inventory and kept in the repo for platform-specific consumption.\n\n## How Skills Work\n\nEvery package follows a consistent anatomy:\n\n```text\npackages/{category}/{skill}/\n├── SKILL.md              # Required canonical skill definition\n├── references/           # Optional supporting material loaded only when needed\n└── adapters/             # Optional agent-specific wrappers\n    ├── codex/\n    ├── claude/\n    └── cursor/\n```\n\nKey design choices:\n\n- Process over prose: skills are workflows agents follow, not generic reference essays.\n- Progressive disclosure: `SKILL.md` is the entry point; supporting files load only when needed.\n- Adapter separation: Codex, Claude, Cursor, and Copilot metadata wrap the canonical package instead of forking it.\n- Verifiable changes: catalog and manifest changes should pass `./scripts/validate-catalog.sh`.\n\nSee [docs/skill-anatomy.md](docs/skill-anatomy.md) for the package format.\n\n## Project Structure\n\n```text\nagent-skills/\n├── packages/                         # Canonical skill packages\n│   ├── software-development/\n│   │   ├── docs-index-keeper/\n│   │   ├── semantic-release-beta/\n│   │   ├── changelog-generator/\n│   │   ├── gh-cli/\n│   │   ├── git-commit/\n│   │   ├── add-to-my-skills/\n│   │   ├── promptctl/\n│   │   └── product-builder/\n│   ├── music/\n│   │   └── fill-music-player/\n│   ├── marketing/\n│   │   └── viral-launch/\n│   └── photography/\n│       └── gallery/\n├── catalog/                          # Machine-readable package inventory\n├── collections/                      # Grouped package bundles\n├── scripts/                          # Build, validation, sync, and install helpers\n├── .claude-plugin/                   # Generated Claude marketplace manifest\n├── .cursor-plugin/                   # Generated Cursor plugin index\n├── .github/prompts/                  # Generated GitHub Copilot prompt files\n└── docs/                             # Contributor and package format docs\n```\n\n## Install and test\n\n### Codex\n\nInstall all canonical packages into your local Codex skills directory:\n\n```bash\n./scripts/install-codex-symlinks.sh\n```\n\nThis creates symlinks from the package catalog into `${CODEX_HOME:-~/.codex}/skills` using the lookup format `olko:{skill_name}`.\n\nTo test a skill in a fresh Codex session, mention it explicitly:\n\n```text\nUse the olko:docs-index-keeper skill to set up docs index automation in this repo.\n```\n\n```text\nUse the olko:semantic-release-beta skill to add prereleases on a beta branch.\n```\n\n### Claude\n\nThe repository includes a generated root manifest at `.claude-plugin/marketplace.json` and per-package Claude adapter stubs under `packages/*/*/adapters/claude/`.\n\nCurrent status:\n\n- suitable for local packaging and iteration\n- not yet validated against a live Claude marketplace install flow\n\n### Cursor\n\nThe repository includes a generated root plugin index at `.cursor-plugin/index.json` and per-package Cursor adapter stubs under `packages/*/*/adapters/cursor/`.\n\nCurrent status:\n\n- suitable for local packaging and iteration\n- not yet validated against a live Cursor plugin install flow\n\n### GitHub Copilot\n\nThe repository includes generated Copilot repository instructions at `.github/copilot-instructions.md` and one reusable prompt file per skill under `.github/prompts/`.\n\nCurrent status:\n\n- suitable for repository-level Copilot customization\n- generated from the canonical package catalog\n- not yet validated against GitHub Copilot in a live GitHub workspace\n\n### Source sync\n\n`./scripts/sync-from-sources.sh` syncs package content only for catalog entries that explicitly define `sourcePath`. If no package has `sourcePath`, the script exits successfully and reports that there is nothing to sync.\n\n## Local validation\n\nRebuild generated manifests:\n\n```bash\n./scripts/build-adapters.sh\n```\n\nValidate the neutral catalog and generated root manifests:\n\n```bash\n./scripts/validate-catalog.sh\n```\n\n## Smoke-tested workflows\n\nThe following package workflows have been smoke-tested locally before first push:\n\n- `docs-index-keeper`\n  - installed from npm in a temporary git repo\n  - initialized hook generation with `npx docs-index-keeper init`\n  - updated `docs/README.md` from a staged Markdown file\n  - passed `docs-index-keeper check`\n- `semantic-release-beta`\n  - configured a temporary git repo with `main` and `beta` branches\n  - used `semantic-release-npm-github-publish` as the release preset\n  - ran `semantic-release --dry-run --no-ci` on `beta`\n  - verified prerelease calculation to `1.0.0-beta.1`\n\n- `add-to-my-skills`\n  - copied a source skill into `packages/software-development/`\n  - refreshed generated manifests with `./scripts/build-adapters.sh`\n  - validated catalog and generated files with `./scripts/validate-catalog.sh`\n\nThe semantic-release smoke test was intentionally self-contained and used a local bare git remote plus a valid `file://` repository URL so dry-run behavior could be validated without real npm or GitHub publishing credentials.\n\n## Licensing notes\n\n- `fill-music-player` includes an MIT license and is safe to carry as-is in this repository.\n- `product-builder` now has an MIT license file added in the source repo clone and in this catalog package, matching the existing MIT claim in its README.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleg-koval%2Fagent-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foleg-koval%2Fagent-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleg-koval%2Fagent-skills/lists"}