Problem: Agents need tools, but the current options are awkward. You either wire up tools manually in your codebase, or you spin up MCP servers that bundle more than you need. Neither is discoverable, shareable, or safe to run.
Enact is a package manager for executable tools:
enact search "web scraping"
enact run enact/firecrawl --args '{"url": "https://example.com"}'
Each tool is a SKILL.md manifest (typed input/output schemas) plus
code in any language. Tools run in containers, so dependencies are
declared and execution is isolated.Key differences from MCP: - Tools, not servers. Install one capability, not a bundle. - Registry with discovery. Agents can search for tools at runtime. - Containerized. Run untrusted tools safely. - Sigstore signing for trust.
Live registry: https://enact.tools
CLI: npm install -g enact-cli
Source: https://github.com/EnactProtocol/enact
Would love feedback on the manifest format and whether this solves a real problem for folks building agents.
scls19fr•1mo ago
## Enact vs agentskills.io Spec — Key Differences
*1. Invalid `name` format* - Spec allows only: lowercase letters, numbers, hyphens (`my-skill`) - Enact uses: namespaced names with slashes (`enact/hello-python`)
*2. Non-standard frontmatter fields* - Spec defines: `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` - Enact adds proprietary fields: `version`, `from`, `build`, `command`, `inputSchema`, `outputSchema`
*3. Different philosophy* - *agentskills.io* = Instructions for agents to read and interpret - *Enact* = Executable package manifest with Docker images, typed I/O schemas, and containerized execution
*4. Directory structure* - Spec expects: `scripts/`, `references/`, `assets/` subdirectories - Enact allows: arbitrary files (`main.py`, `requirements.txt`)
*Bottom line:* Enact borrows the SKILL.md filename but extends it into something fundamentally different — a package manager format rather than an agent instruction format. It's not spec-compliant; it's a conceptual fork.
keithgroves•1mo ago
I made enact independently and realized how similar it was to skills when they were released, so tried to go with the flow rather than ask people to understand yet another new concept. Enact.md -> Skill.md
Not really sure what the path forward is but this feedback is very helpful.