Model or dataset
CreminiAI/skillpack avatar
CreminiAI/skillpack

SkillPack: Package and Deploy Local AI Agents for Slack and Telegram

Pack and deploy local AI agents for your team in minutes

1,200 stars111 forksTypeScriptMIT

At a glance

What is it?
SkillPack is an MIT-licensed TypeScript CLI that assembles AI skills into distributable local agents, wrapping them in a zip archive that any team member can run with a single shell command and connect to Slack or Telegram. It targets teams who want AI automation to run on their own infrastructure rather than a vendor-hosted service.
Who is it for?
SkillPack suits teams who need AI agents to run locally, keeping data on-premises, and who want to distribute those agents to non-technical colleagues via a double-click launcher. It is the wrong fit for teams who need centrally managed, always-on agents with SLA guarantees: the local model means the agent is only available when the host machine is running.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 17 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What SkillPack Solves: Skills That Stay Local

AI agent platforms like Zapier or Make host their automation centrally. That model sends your data to a third-party server with each invocation. SkillPack takes the opposite approach: the agent runs entirely on the local machine, and only the LLM API call leaves the premise.

The README frames the use case as teams wanting AI agents to be deployable, trusted, and easy to use. Deployable means a pack is a zip file that any team member can run. Trusted means the agent's execution and any data it processes stay on the user's machine. Easy to use means the interface is Slack or Telegram, tools teams already have open.

The project compares a SkillPack to a finished LEGO product: if skills and tools are individual LEGO pieces, a SkillPack is the assembled set. A skill provides domain knowledge and instructions; a pack assembles multiple skills with prompts that tell the agent how to coordinate them into a complete workflow.

Pack Structure: What Goes Inside a Zip

A pack produced by the zip command contains a specific set of files. The core configuration is skillpack.json, which defines the pack name, the installed skills, and the orchestration prompts. Optional files include job.json for scheduled jobs that travel with the pack, AGENTS.md for pack-level policy, and SOUL.md for agent persona.

The README describes how SkillPack handles AGENTS.md and SOUL.md: it injects them into the runtime system prompt at session start, without depending on the host machine's own AGENTS.md or configuration files. This means a pack carries its behavior specification with it rather than inheriting whatever is configured on the recipient's machine.

The archive also includes a skills/ directory containing all installed skills, start.sh for macOS and Linux, and start.bat for Windows. The start scripts use npx @cremini/skillpack run . so Node.js 22.19.0 or newer is the only prerequisite; no pre-bundled server binary is included in the archive. The pack opens http://127.0.0.1:26313 in a browser when started.

Creating a Pack and Running It

Creating a new pack is an interactive process through the CLI:

bash
npx @cremini/skillpack create

The CLI prompts for a pack name and description, then asks to add skills from GitHub repositories, URLs, or local paths. After adding skills, the user adds prompts that tell the agent how to orchestrate those skills, and optionally packages the result as a zip immediately.

A pack can also be created from an existing config file:

bash
npx @cremini/skillpack create --config ./skillpack.json

The README shows a remote config as an example:

bash
npx @cremini/skillpack create comic-explainer --config https://raw.githubusercontent.com/CreminiAI/skillpack/refs/heads/main/examples/comic-explainer.json

To package a finished pack for distribution:

bash
npx @cremini/skillpack zip

This produces pack-name.zip in the current directory. A --skip-skill-install flag skips reinstalling skills from source and syncs skill descriptions from the existing SKILL.md files before packaging, which is faster when the skills are already installed.

Running a downloaded pack requires unzipping and executing the launcher:

bash
./start.sh

On Windows, double-clicking start.bat does the same. The server starts and opens the browser UI at http://127.0.0.1:26313. The left menu accepts an LLM API key (OpenAI or Claude).

Skill Source Formats and the Example Packs

Skills added through the create command accept three source formats. GitHub shorthand specifies a repository and a skill name, full GitHub URLs point to a specific directory and skill, and local paths reference skills already on disk:

bash
# GitHub shorthand
vercel-labs/agent-skills --skill frontend-design

# Full GitHub URL
https://github.com/JimLiu/baoyu-skills/tree/main/skills --skill baoyu-comic

# Local path
./skills/my-local-skill

Multiple skill names from the same source are listed comma-separated.

The repository includes several example configs. The Garry Tan SkillPack is available as a downloadable zip demonstrating a single-persona research agent. The Company Deep Research SkillPack gathers information from multiple sources and produces a PowerPoint presentation from the findings. The examples/ directory in the repository includes configs for comic-explainer, social-media-agent, seo-audit-to-ppt, topic-newsletter, and tutorial-writer.

Scheduled jobs are defined in job.json and loaded by the scheduler at runtime. The node-cron package is used for scheduling, as listed in package.json.

Slack and Telegram Integration

Once a pack is running locally, it can be connected to Slack or Telegram so team members interact with the agent through familiar messaging tools rather than a browser UI.

For Slack, the README links to the skillpack.gitbook.io documentation for a five-minute setup to obtain a Slack App Token and Bot Token. For Telegram, the setup is documented as one minute to obtain a Bot Token. Both integrations run through the SkillPack server that start.sh launches.

This integration model has a direct architectural implication: the agent only responds in Slack or Telegram when the host machine is running. An agent whose host laptop is closed or sleeping will not reply. This is the privacy tradeoff: local execution means local availability.

The @slack/bolt package at version 4.6.0 and node-telegram-bot-api at version 0.66.0 are listed as dependencies in package.json, so both integrations are bundled without additional installs.

Limitations and Comparison to Centrally Hosted Agent Platforms

The local execution model is both the feature and the limitation. The agent is unavailable when the host machine is off. If the pack runs on a personal laptop rather than a dedicated server, the team will see gaps in availability tied to the laptop's schedule. Teams that need 24/7 availability must deploy the pack to a machine that stays on, which adds infrastructure overhead.

The LLM API call does leave the local environment: each inference request goes to OpenAI's or Anthropic's API. The README states that LLM API key entry is required at first startup. Teams with data classification requirements should verify which data reaches the LLM before deploying sensitive-use packs.

Centrally hosted platforms like Zapier AI Agents handle availability, scaling, and API key management in exchange for data passing through their servers. SkillPack makes the opposite tradeoff: full data locality at the cost of self-managed availability.

The project requires Node.js 22.19.0 or newer, as specified in the package.json engines field. Older Node.js versions will fail to start. The last push was on 2026-09-16. The current package version is 1.3.19. The project is MIT-licensed.

The repository's examples/ directory includes seven ready-to-use skillpack configurations covering different use cases: comic-explainer, company-deep-research, garry-tan, seo-audit-to-ppt, social-media-agent, topic-newsletter, and tutorial-writer. These serve both as starting points and as documentation of the skillpack.json format, including how scheduled jobs are specified in job.json and how persona files are structured in SOUL.md. The system-prompt.md file at the repository root shows how the runtime constructs the initial system prompt from AGENTS.md, SOUL.md, and the skills' own SKILL.md files.

Editorial conclusion

SkillPack suits teams who need AI agents to run locally, keeping data on-premises, and who want to distribute those agents to non-technical colleagues via a double-click launcher. It is the wrong fit for teams who need centrally managed, always-on agents with SLA guarantees: the local model means the agent is only available when the host machine is running. Before packaging a pack for distribution, test the start.sh and start.bat launchers on the target operating systems and verify that recipients have Node.js 22.19.0 or newer installed, as the launcher depends on npx to fetch the skillpack runner on first use.

Frequently asked questions

Does SkillPack require the agent to run in the cloud?

No. SkillPack runs the agent locally on the user's machine. The start.sh or start.bat launcher starts a local server at port 26313. Only the LLM API call (to OpenAI or Anthropic) leaves the local environment; the agent logic, skill execution, and any file data stay on the host machine.

What Node.js version does SkillPack require?

The package.json engines field specifies Node.js 22.19.0 or newer. The start scripts use npx @cremini/skillpack run ., so the recipient machine needs Node.js 22.19.0 or newer installed. No pre-bundled server binary is included in the distributed zip.

Can a SkillPack be shared with team members who are not developers?

Yes. The zip command produces an archive that includes start.sh for macOS and Linux, and start.bat for Windows. The README describes the Windows launcher as a double-click to start. Recipients need Node.js 22.19.0 or newer and an OpenAI or Claude API key entered in the browser UI at first startup.

Official sources

  1. CreminiAI/skillpack on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/creminiai-skillpack.svg)](https://hysenlabs.com/projects/creminiai-skillpack)