{"id":34632958,"url":"https://github.com/stakpak/paks","last_synced_at":"2026-01-17T15:42:48.206Z","repository":{"id":332055269,"uuid":"1121174984","full_name":"stakpak/paks","owner":"stakpak","description":"A Package Manager for the AgentSkills standard. Discover, Use, and Create AgentSkills with Claude Code, Codex, Gemini CLI, OpenCode and more","archived":false,"fork":false,"pushed_at":"2026-01-13T00:25:14.000Z","size":1605,"stargazers_count":27,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-13T21:09:12.870Z","etag":null,"topics":["agent-skills","coding-agents","genai","llm-agents","package-manager","rust"],"latest_commit_sha":null,"homepage":"https://paks.stakpak.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stakpak.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"ROADMAP.md","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-12-22T14:58:15.000Z","updated_at":"2026-01-13T11:18:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stakpak/paks","commit_stats":null,"previous_names":["stakpak/paks"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/stakpak/paks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakpak%2Fpaks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakpak%2Fpaks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakpak%2Fpaks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakpak%2Fpaks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stakpak","download_url":"https://codeload.github.com/stakpak/paks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakpak%2Fpaks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"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":["agent-skills","coding-agents","genai","llm-agents","package-manager","rust"],"created_at":"2025-12-24T16:54:25.266Z","updated_at":"2026-01-17T15:42:48.160Z","avatar_url":"https://github.com/stakpak.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 📦 Paks\n\n**The package manager for AI Agent Skills**\n\nCreate, install, publish, and share skills across AI coding agents.\n\n[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n[![Rust](https://img.shields.io/badge/rust-2024-orange.svg)](https://www.rust-lang.org/)\n\u003ca href=\"https://discord.gg/QTZjETP7GB\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-Join%20Community-5865F2?logo=discord\u0026logoColor=white\u0026style=flat-square\" /\u003e\u003c/a\u003e\n\n\n[Installation](#installation) • [Quick Start](#quick-start) • [CLI Reference](#cli-reference) • [Registry](#registry) • [Contributing](#contributing)\n\n⭐ Help us reach more developers and grow the Paks community. Star this repo!\n\n\u003c/div\u003e\n\n---\n\n## What is Paks?\n\nPaks is a CLI-first package manager for [Agent Skills](https://agentskills.io) — reusable instruction sets that enhance AI coding agents like Stakpak, Claude Code, Cursor, OpenCode, GitHub Copilot, Goose, and more.\n\n**The CLI** is your primary interface for:\n- 🛠️ **Creating** new skills with proper structure\n- 📥 **Installing** skills from the registry, git repos, or local paths\n- 🚀 **Publishing** skills to share with the community\n- 🔍 **Managing** skills across multiple AI agents\n\n**The Web Registry** provides a browsable interface to discover and explore published skills.\n\n## Why Paks?\n\nAI coding agents are powerful, but they need context. Skills provide that context — coding standards, deployment procedures, API patterns, and domain knowledge. Paks makes it easy to:\n\n- **Share expertise** — Package your team's best practices as installable skills\n- **Stay consistent** — Install the same skills across all your AI agents\n- **Build on others' work** — Discover and use community-created skills\n- **Version and iterate** — Semantic versioning for skill updates\n\n---\n\n## Installation\n\n### Homebrew (macOS \u0026 Linux)\n\n```bash\nbrew tap stakpak/stakpak\nbrew install paks\n```\n\n### Download Binary\n\nPre-built binaries are available for all major platforms on the [Releases page](https://github.com/stakpak/paks/releases):\n\n| Platform | Architecture | Download |\n|----------|--------------|----------|\n| macOS | Apple Silicon (M1/M2/M3) | `paks-darwin-aarch64.tar.gz` |\n| macOS | Intel | `paks-darwin-x86_64.tar.gz` |\n| Linux | x86_64 | `paks-linux-x86_64.tar.gz` |\n| Linux | ARM64 | `paks-linux-aarch64.tar.gz` |\n| Windows | x86_64 | `paks-windows-x86_64.zip` |\n\n```bash\n# Example: Download and install on Linux x86_64\ncurl -L https://github.com/stakpak/paks/releases/latest/download/paks-linux-x86_64.tar.gz | tar xz\nsudo mv paks /usr/local/bin/\n```\n\n### From Source (Rust)\n\n```bash\n# Clone the repository\ngit clone https://github.com/stakpak/paks.git\ncd paks\n\n# Build the CLI\ncargo build --release -p paks-cli\n\n# The binary will be at ./target/release/paks\n# Move it to your PATH\ncp ./target/release/paks ~/.local/bin/\n```\n\n### Verify Installation\n\n```bash\npaks --version\npaks --help\n```\n\n---\n\n## Quick Start\n\n### 1. Create Your First Skill\n\n```bash\n# Create a new skill\npaks create my-awesome-skill\n\n# Or with optional directories\npaks create my-awesome-skill --with-scripts --with-references\n```\n\nThis generates:\n\n```\nmy-awesome-skill/\n├── SKILL.md          # Skill manifest and instructions\n├── scripts/          # (optional) Helper scripts\n├── references/       # (optional) Reference documentation\n└── assets/           # (optional) Static assets\n```\n\n### 2. Edit Your Skill\n\nThe `SKILL.md` file is the heart of your skill. It uses YAML frontmatter for metadata and Markdown for instructions:\n\n```markdown\n---\nname: my-awesome-skill\ndescription: A skill that helps with awesome things\nversion: 0.1.0\nlicense: MIT\nkeywords:\n  - awesome\n  - productivity\n---\n\n# My Awesome Skill\n\n## When to use this skill\n\nDescribe when this skill should be activated.\n\n## Instructions\n\nAdd your instructions here. The AI agent will follow these\nwhen the skill is active.\n```\n\n### 3. Validate Your Skill\n\n```bash\npaks validate my-awesome-skill\n\n# Strict mode (warnings become errors)\npaks validate my-awesome-skill --strict\n```\n\n### 4. Install Skills\n\n```bash\n# Install from registry\npaks install kubernetes-deploy\n\n# Install for a specific agent\npaks install kubernetes-deploy --agent claude-code\n\n# Install to project directory (instead of global)\npaks install kubernetes-deploy --scope project\n\n# Install from GitHub (just paste the URL from your browser)\npaks install https://github.com/user/repo/tree/main/path/to/skill\n\n# Install specific version\npaks install kubernetes-deploy --version 1.2.0\n\n# Force reinstall\npaks install kubernetes-deploy --force\n```\n\n### 5. Publish Your Skill\n\n```bash\n# Dry run first\npaks publish my-awesome-skill --dry-run\n\n# Publish with version bump\npaks publish my-awesome-skill --bump patch\n\n# Publish (requires login)\npaks login\npaks publish my-awesome-skill\n```\n\n---\n\n## CLI Reference\n\n### Core Commands\n\n| Command | Description |\n|---------|-------------|\n| `paks create \u003cname\u003e` | Create a new skill from template |\n| `paks install \u003csource\u003e` | Install a skill |\n| `paks publish [path]` | Publish a skill to the registry |\n| `paks validate [path]` | Validate skill structure |\n| `paks list` | List installed skills |\n| `paks remove \u003cname\u003e` | Remove an installed skill |\n| `paks search \u003cquery\u003e` | Search the registry |\n| `paks info \u003cskill\u003e` | Show skill details |\n\n### Create Command\n\n```bash\npaks create \u003cname\u003e [OPTIONS]\n\nOptions:\n  -o, --output \u003cDIR\u003e       Output directory (defaults to ./\u003cname\u003e)\n  -t, --template \u003cTYPE\u003e    Template type: basic, devops, coding\n      --with-scripts       Include scripts/ directory\n      --with-references    Include references/ directory\n      --with-assets        Include assets/ directory\n```\n\n**Examples:**\n\n```bash\n# Basic skill\npaks create my-skill\n\n# DevOps skill with all directories\npaks create deploy-helper --template devops --with-scripts --with-references\n\n# Specify output location\npaks create my-skill --output ~/skills/my-skill\n```\n\n### Install Command\n\n```bash\npaks install \u003csource\u003e [OPTIONS]\n\nOptions:\n  -a, --agent \u003cAGENT\u003e      Target agent (stakpak, claude-code, cursor, vscode, copilot, goose, opencode)\n  -s, --scope \u003cSCOPE\u003e      Installation scope: global or project\n  -d, --dir \u003cPATH\u003e         Custom install directory (overrides agent and scope)\n  -v, --version \u003cVERSION\u003e  Specific version to install\n  -f, --force              Force reinstall if exists\n```\n\n**Scope:**\n- `global` (default): Installs to user directory (e.g., `~/.claude/skills`)\n- `project`: Installs to project directory (e.g., `./.claude/skills`)\n\n**Examples:**\n\n```bash\n# Install from registry (global scope by default)\npaks install terraform-best-practices\n\n# Install for Claude Code\npaks install terraform-best-practices --agent claude-code\n\n# Install to project directory (scope: project)\npaks install terraform-best-practices --scope project\n\n# Install from GitHub/GitLab (just paste the browser URL)\npaks install https://github.com/org/repo/tree/main/skills/my-skill\n\n# Install to custom directory\npaks install my-skill --dir ~/custom/skills\n```\n\n### Publish Command\n\n```bash\npaks publish [path] [OPTIONS]\n\nOptions:\n      --bump \u003cLEVEL\u003e       Version bump: patch, minor, major\n      --skip-validation    Skip validation before publishing\n      --dry-run            Show what would be published\n```\n\n**Examples:**\n\n```bash\n# Validate and show what would be published\npaks publish --dry-run\n\n# Publish with patch version bump (0.1.0 → 0.1.1)\npaks publish --bump patch\n\n# Publish with minor version bump (0.1.0 → 0.2.0)\npaks publish --bump minor\n\n# Publish specific directory\npaks publish ./my-skill --bump patch\n```\n\n### List Command\n\n```bash\npaks list [OPTIONS]\n\nOptions:\n  -a, --agent \u003cAGENT\u003e      List skills for specific agent\n  -s, --scope \u003cSCOPE\u003e      Scope to list from: global or project\n      --all                List skills from all agents\n  -f, --format \u003cFORMAT\u003e    Output format: table, json, yaml\n```\n\n**Examples:**\n\n```bash\n# List skills for default agent (global scope by default)\npaks list\n\n# List project-scoped skills\npaks list --scope project\n\n# List all skills across all agents\npaks list --all\n\n# List as JSON\npaks list --format json\n\n# List for specific agent\npaks list --agent cursor\n```\n\n### Agent Management\n\n```bash\npaks agent list              # List configured agents\npaks agent add \u003cname\u003e -d \u003cdir\u003e [-p \u003cproject-dir\u003e]  # Add custom agent\npaks agent remove \u003cname\u003e     # Remove custom agent\npaks agent default \u003cname\u003e    # Set default agent\npaks agent show [name]       # Show agent details\n```\n\n**Built-in Agents:**\n\n| Agent | Global Directory | Project Directory |\n|-------|-----------------|-------------------|\n| `stakpak` | `~/.stakpak/skills` | `.stakpak/skills` |\n| `claude-code` | `~/.claude/skills` | `.claude/skills` |\n| `cursor` | `~/.cursor/skills` | `.cursor/skills` |\n| `vscode` | `~/.vscode/skills` | `.vscode/skills` |\n| `copilot` | `~/.copilot/skills` | `.copilot/skills` |\n| `goose` | `~/.config/goose/skills` | `.goose/skills` |\n| `opencode` | `~/.config/opencode/skill` | `.opencode/skill` |\n\n**Examples:**\n\n```bash\n# Add a custom agent with both global and project directories\npaks agent add my-agent --dir ~/my-agent/skills --project-dir .my-agent/skills\n\n# Set as default\npaks agent default my-agent\n\n# View all agents\npaks agent show\n```\n\n### Authentication\n\n```bash\npaks login [--token \u003cTOKEN\u003e]  # Login to registry\npaks logout                    # Logout from registry\n```\n\n---\n\n## Skill Structure\n\n### SKILL.md Frontmatter\n\nThe `SKILL.md` file uses YAML frontmatter following the [Agent Skills specification](https://agentskills.io):\n\n```yaml\n---\n# Required fields\nname: my-skill                    # 1-64 chars, lowercase + hyphens\ndescription: What this skill does # 1-1024 chars\n\n# Optional (Agent Skills spec)\nlicense: MIT\ncompatibility: Requires Node.js 18+\nmetadata:\n  author: Your Name\n  website: https://example.com\nallowed-tools: |                  # Experimental\n  - read_file\n  - write_file\n\n# Paks extensions (for package management)\nversion: 1.0.0                    # Semantic version\nauthors:\n  - Your Name \u003cyou@example.com\u003e\nrepository: https://github.com/you/skill\nhomepage: https://your-skill.dev\nkeywords:\n  - devops\n  - kubernetes\ncategories:\n  - deployment\ndependencies:\n  - name: base-skill\n    version: \"\u003e=1.0.0\"\n---\n```\n\n### Directory Structure\n\n```\nmy-skill/\n├── SKILL.md              # Required: Manifest + instructions\n├── scripts/              # Optional: Helper scripts\n│   ├── deploy.sh\n│   └── validate.py\n├── references/           # Optional: Reference docs\n│   ├── api-docs.md\n│   └── examples/\n└── assets/               # Optional: Static files\n    └── templates/\n```\n\n---\n\n## Registry\n\n### Web Interface\n\nThe **Paks Registry** web interface provides:\n\n- 🔍 **Browse** — Discover skills by category, keyword, or popularity\n- 📖 **Read** — View skill documentation and instructions\n- 📊 **Stats** — See download counts and version history\n- 👤 **Profiles** — View publisher profiles and their skills\n\nVisit the registry at: **[http://localhost:3001](http://localhost:3001)** (development)\n\n### API\n\nThe registry exposes a REST API for programmatic access:\n\n```bash\n# Search skills\nGET /api/skills?q=kubernetes\n\n# Get skill details\nGET /api/skills/:name\n\n# Get specific version\nGET /api/skills/:name/:version\n```\n\n---\n\n## Configuration\n\n### Global Configuration\n\nPaks stores global configuration at `~/.paks/config.toml`:\n\n```toml\n# Default agent when --agent is not specified\ndefault_agent = \"stakpak\"\n\n# Default installation scope: \"global\" or \"project\"\ndefault_scope = \"global\"\n\n# Custom agents\n[agents.my-custom-agent]\nname = \"My Custom Agent\"\nskills_dir = \"/path/to/skills\"\nproject_skills_dir = \".my-agent/skills\"  # Relative to project root\ndescription = \"Custom agent for my workflow\"\n\n# Registry configuration\n[registries.default]\nurl = \"https://registry.paks.dev\"\n```\n\n### Project Configuration\n\nYou can also create a project-level configuration at `.paks/config.toml` in your project root:\n\n```toml\n# Project-level config overrides global config\ndefault_scope = \"project\"  # Make project scope the default for this project\ndefault_agent = \"claude-code\"\n```\n\n**Configuration priority (highest to lowest):**\n1. CLI flags (`--scope`, `--agent`, `--dir`)\n2. Project config (`.paks/config.toml`)\n3. Global config (`~/.paks/config.toml`)\n4. Built-in defaults\n\nThis allows teams to standardize skill installations across all developers by committing `.paks/config.toml` to version control.\n\n---\n\n## Project Structure\n\n```\npaks/\n├── apps/\n│   ├── cli/              # Rust CLI application\n│   │   ├── src/\n│   │   │   ├── commands/ # CLI command implementations\n│   │   │   │   ├── create.rs\n│   │   │   │   ├── install.rs\n│   │   │   │   ├── publish.rs\n│   │   │   │   ├── validate.rs\n│   │   │   │   └── ...\n│   │   │   └── main.rs\n│   │   └── Cargo.toml\n│   ├── web/              # Registry web interface\n│   │   └── src/\n│   │       ├── routes/   # TanStack Router pages\n│   │       └── components/\n│   └── docs/             # Documentation site\n├── packages/\n│   ├── core/             # Shared Rust library\n│   └── config/           # Shared TypeScript config\n├── Cargo.toml            # Rust workspace\n├── package.json          # Node.js workspace\n└── turbo.json            # Turborepo config\n```\n\n---\n\n## Development\n\n### Prerequisites\n\n- **Rust** 2024 edition (nightly)\n- **Node.js** 18+\n- **pnpm** 8+\n\n### Setup\n\n```bash\n# Install dependencies\npnpm install\n\n# Build everything\npnpm run build\n\n# Development mode\npnpm run dev\n```\n\n### Available Scripts\n\n| Script | Description |\n|--------|-------------|\n| `pnpm run dev` | Start all apps in development mode |\n| `pnpm run build` | Build all applications |\n| `pnpm run dev:web` | Start only the web application |\n| `pnpm run check-types` | TypeScript type checking |\n| `pnpm run check` | Run Oxlint and Oxfmt |\n\n### Rust Development\n\n```bash\n# Build CLI\ncargo build -p paks-cli\n\n# Run CLI\ncargo run -p paks-cli -- --help\n\n# Run tests\ncargo test\n\n# Format code\ncargo fmt\n\n# Lint\ncargo clippy\n```\n\n---\n\n## Need Support Creating Your First Pak?\nIf this is your first time writing a Pak, you don’t have to figure it out alone.\nOur community is actively building and sharing skills, and we’re happy to help you:\n- Write your first SKILL.md\n- Review structure and metadata\n- Decide what belongs in a Pak (and what doesn’t)\n- Validate and publish with confidence\n\nJoin the Stakpak Discord to ask questions, get feedback, and see how others are using Paks\n\nJoin the community: https://discord.gg/QTZjETP7GB\n\n---\n\n## Contributing\n\nWe welcome contributions! Here's how to get started:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\n### Guidelines\n\n- Follow the existing code style\n- Add tests for new functionality\n- Update documentation as needed\n- Keep commits atomic and well-described\n\n---\n\n## License\n\nApache 2.0 License — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ by [Stakpak](https://stakpak.dev)**\n\n[Website](https://stakpak.dev) • [Documentation](https://docs.stakpak.dev) • [Discord](https://discord.gg/stakpak)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstakpak%2Fpaks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstakpak%2Fpaks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstakpak%2Fpaks/lists"}