{"id":37558591,"url":"https://github.com/jkitchin/skillz","last_synced_at":"2026-01-16T09:03:47.200Z","repository":{"id":326712314,"uuid":"1106599324","full_name":"jkitchin/skillz","owner":"jkitchin","description":"CLI tool for managing AI assistant skills and slash commands across multiple LLM platforms","archived":false,"fork":false,"pushed_at":"2025-12-29T20:38:21.000Z","size":10475,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-02T03:16:02.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/jkitchin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2025-11-29T15:13:44.000Z","updated_at":"2025-12-29T20:38:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jkitchin/skillz","commit_stats":null,"previous_names":["jkitchin/skillz"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jkitchin/skillz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkitchin%2Fskillz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkitchin%2Fskillz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkitchin%2Fskillz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkitchin%2Fskillz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jkitchin","download_url":"https://codeload.github.com/jkitchin/skillz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkitchin%2Fskillz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-16T09:03:47.118Z","updated_at":"2026-01-16T09:03:47.181Z","avatar_url":"https://github.com/jkitchin.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Skillz\n\n\u003cimg src=\"skillz.png\" alt=\"Skillz\" width=\"300\"\u003e\n\n[![Tests](https://github.com/jkitchin/skillz/actions/workflows/test.yml/badge.svg)](https://github.com/jkitchin/skillz/actions/workflows/test.yml)\n[![Lint](https://github.com/jkitchin/skillz/actions/workflows/lint.yml/badge.svg)](https://github.com/jkitchin/skillz/actions/workflows/lint.yml)\n[![codecov](https://codecov.io/gh/jkitchin/skillz/graph/badge.svg)](https://codecov.io/gh/jkitchin/skillz)\n\n\nA comprehensive CLI tool for managing AI assistant skills and slash commands for OpenCode, Claude Code, and other LLM platforms.\n\n\u003e **Note:** Currently only tested on Claude Code and OpenCode. Please report issues for Codex and Gemini. With opencode you may have better performance with https://www.npmjs.com/package/opencode-skills (this is what I use).\n\n- https://github.com/numman-ali/openskills (I have not tried this yet)\n- Requested feature in opencode https://github.com/sst/opencode/issues/3235\n\n## Features\n\n- **Install/Uninstall**: Easily manage skills and commands\n- **Search**: Find skills by keywords and descriptions\n- **Create**: Interactive wizard for creating new skills and commands\n- **Validate**: Ensure skills and commands meet format requirements\n- **Multi-platform**: Support for OpenCode, Claude Code, Codex, and Gemini\n\n## Installation\n\n### Using uv (recommended)\n\n```bash\nuv pip install -e .\n```\n\n### Using pip\n\n```bash\npip install -e .\n```\n\n## Quick Start\n\n### Configure Repository Path\n\nFirst, set up the path to your skills repository:\n\n```bash\nskillz config set repository /path/to/skillz\n```\n\n### List Available Skills\n\n```bash\n# List all skills and commands\nskillz list\n\n# List only skills\nskillz list --type skill\n\n# List only from repository\nskillz list --source repository\n```\n\n### Install a Skill\n\n```bash\n# Install to OpenCode (default)\nskillz install skill-name\n\n# Install to Claude Code\nskillz install skill-name --platform claude\n\n# Install to project directory (.opencode/skills/)\nskillz install skill-name --target project\n\n# Preview before installing\nskillz install skill-name --dry-run\n```\n\n### Search for Skills\n\n```bash\nskillz search python\nskillz search \"lab notebook\"\n```\n\n### Create a New Skill\n\n```bash\n# Interactive mode\nskillz create --type skill\n\n# With name specified\nskillz create --type skill --name my-awesome-skill\n```\n\n### Uninstall a Skill\n\n```bash\nskillz uninstall skill-name\n```\n\n## Configuration\n\nConfiguration is stored in `~/.config/skillz/config.yaml`.\n\nDefault configuration:\n\n```yaml\ndefault_platform: opencode\n\npersonal_skills_dir: ~/.config/opencode/skills\npersonal_commands_dir: ~/.config/opencode/command\nproject_skills_dir: .opencode/skills\nproject_commands_dir: .opencode/command\ndefault_target: personal\n\nplatforms:\n  opencode:\n    skills_dir: ~/.config/opencode/skills\n    commands_dir: ~/.config/opencode/command\n  claude:\n    skills_dir: ~/.claude/skills\n    commands_dir: ~/.claude/commands\n  codex:\n    skills_dir: ~/.codex/skills\n    commands_dir: ~/.codex/commands\n  gemini:\n    skills_dir: ~/.config/gemini/skills\n    commands_dir: ~/.config/gemini/commands\n```\n\n## Skills Format\n\nSkills are directories containing a `SKILL.md` file with YAML frontmatter:\n\n```markdown\n---\nname: my-skill\ndescription: A clear description of what this skill does and when to use it\nallowed-tools: [\"*\"]  # Optional: restrict available tools\n---\n\n# Skill Content\n\nDetailed instructions for Claude on how to use this skill...\n```\n\n### Requirements\n\n- `name`: lowercase, hyphens only, max 64 characters\n- `description`: clear explanation, max 1024 characters\n- Directory must contain `SKILL.md`\n\n## Commands Format\n\nCommands are markdown files with optional YAML frontmatter:\n\n```markdown\n---\ndescription: Brief description for /help\nmodel: sonnet  # Optional: sonnet, opus, or haiku\nallowed-tools: [\"*\"]  # Optional\nargument-hint: \u003cyour-arg\u003e  # Optional: autocomplete help\n---\n\n# Command Content\n\nCommand prompt content here...\n\nUse $ARGUMENTS or $1, $2, etc. for parameters.\n```\n\n## Project Structure\n\n```\nskillz/\n├── cli/                    # Python CLI tool\n│   ├── commands/          # CLI command implementations\n│   ├── config.py          # Configuration management\n│   ├── validator.py       # Skill/command validation\n│   └── utils.py           # Helper functions\n├── skills/                # Skill repository\n│   ├── academic/\n│   ├── programming/\n│   └── research/\n├── commands/              # Command repository\n├── templates/             # Templates for new skills\n└── tests/                 # Test suite\n```\n\n## Development\n\n### Setup Development Environment\n\n```bash\n# Install with development dependencies\nuv pip install -e \".[dev]\"\n\n# Install pre-commit hooks\npre-commit install\n```\n\n### Pre-commit Hooks\n\nThis project uses [pre-commit](https://pre-commit.com/) to automatically run linting and formatting checks before each commit. The hooks will:\n\n- Run `ruff check --fix` to fix linting issues\n- Run `ruff format` to format code\n\nIf any changes are made by the hooks, the commit will fail. Simply stage the changes and commit again.\n\n### Running Tests\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage report\npytest --cov=cli --cov-report=html\n```\n\n### Linting and Formatting\n\nWe use [Ruff](https://docs.astral.sh/ruff/) for both linting and formatting:\n\n```bash\n# Check for linting issues\nruff check .\n\n# Auto-fix linting issues\nruff check --fix .\n\n# Check formatting\nruff format --check .\n\n# Format code\nruff format .\n```\n\n## Available Skills\n\nSee the `skills/` directory for available skills organized by category:\n\n- **Academic**: PhD qualifier review, proposal assistance\n- **Programming**: Python (ASE, pymatgen), Emacs Lisp\n- **Research**: Electronic lab notebook management\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Follow the skill/command format requirements\n2. Add tests for new functionality\n3. Update documentation\n4. Run linters before submitting\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Support\n\n- Report issues: https://github.com/jkitchin/skillz/issues\n- Documentation: https://github.com/jkitchin/skillz#readme\n\n## Related Projects\n\n### Supported Platforms\n\nSkillz manages skills and commands for these AI coding assistants:\n\n- **[OpenCode](https://github.com/sst/opencode)** - The AI coding agent built for the terminal. Open-source, provider-agnostic, with 30k+ GitHub stars.\n- **[Claude Code](https://github.com/anthropics/claude-code)** - Anthropic's agentic coding tool that lives in your terminal. Understands your codebase and helps you code faster.\n- **[Codex CLI](https://github.com/openai/codex)** - OpenAI's lightweight coding agent that runs in your terminal. See [OpenAI adopts \"skills\"](https://simonwillison.net/2025/Dec/12/openai-skills/) for details on their skills implementation.\n- **Gemini** - Google's AI assistant.\n\n### Related Skills Projects\n\n- **[Superpowers](https://github.com/obra/superpowers)** - A complete software development workflow framework for Claude Code with composable skills for design, TDD, code review, and integration. This project was an early motivation to develop this project.\n\n## Credits\n\nCreated by John Kitchin for managing AI assistant skills across different LLM platforms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkitchin%2Fskillz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkitchin%2Fskillz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkitchin%2Fskillz/lists"}