| name | everyskill-library |
| description | Discover and install vetted Every Skill packages through the Every Skill MCP server. |
| version | 1.0.0 |
Every Skill Library
Use this when a user asks to find, inspect, install, package, or submit an Every Skill package. Every Skill is the skill library by Every: a curated registry of expert AI workflows that can be installed into local agents and editors.
The MCP manifest and file resources are the source of truth for installation. The MCP submit tool is the source of truth for agent-driven submissions. Do not scrape the Every Skill web UI for package contents when MCP resources are available.
What to do
- If the user asks what's new in their library feed, connect to the MCP server and call
skills.feed.
- If a new Plus One connection has not completed its initial sync, call
skills.bootstrap exactly once, install the returned defaults, and save its next_since watermark.
- If the user asks to find or choose a skill, connect to the MCP server and call
skills.search.
- If the user asks to inspect a skill, read the returned
everyskill://skills/{slug} manifest resource.
- If the user asks to install a skill, read the manifest, fetch every accessible file resource, and write the files into the host agent's local skill directory.
- If the user asks to submit a skill, package the complete skill folder and call
skills.submit.
- If MCP reports that a skill is locked or unavailable, explain that access is required. Do not reconstruct locked files from summaries, previews, or the web UI.
Connect
Configure the Every Skill MCP server as a remote HTTP/streamable HTTP MCP server:
https://skills.every.to/mcp
The server uses OAuth. Authorize with an Every Skill account and request the skills:read and skills:submit scopes. The MCP resource metadata is available at:
https://skills.every.to/.well-known/oauth-protected-resource/mcp
If the client supports OAuth discovery, start at the protected resource metadata URL above. If the client asks for the MCP server URL directly, use https://skills.every.to/mcp.
After connecting, verify the server by listing tools and resources. The expected core tools are skills.bootstrap, skills.feed, skills.search, and skills.submit. skills.bootstrap, skills.feed, skills.search, and resource reads require skills:read; skills.submit requires skills:submit.
If the user wants to submit under a publishing profile, read:
everyskill://account/publisher-profiles
Use organization_id from that resource for organization publishers. Omit organization_id to submit under the user's personal profile.
Every Inside bootstrap
Call skills.bootstrap exactly once for a new or not-yet-bootstrapped Plus One connection. It is an initial snapshot, not a recurring reconciliation tool.
The tool returns the current published public skills designated every_inside_default, ordered case-insensitively by name and then by slug. Each entry includes its version, onboarding note, ZIP package URL, skill page URL, and everyskill:// manifest resource URI.
The response also includes next_since. The watermark is captured before the snapshot is read, so a designation change that races with bootstrap is replayable through the incremental feed. After the snapshot installs successfully, persist next_since and use it as the first since value for skills.feed. The snapshot and first feed page may overlap; installations and event handling should therefore be idempotent.
Feed
Call the skills.feed tool during a heartbeat or when the user asks what's new. The feed is personalized to the authorized user's saved category preferences and can also include editorial featured pushes from Every. Feed items may be skill.published, skill.updated, skill.featured, skill.every_inside_default_added, or skill.every_inside_default_removed.
Example:
{
"since": "2026-06-01T00:00:00Z",
"include_featured": true
}
The tool returns next_since; store that value locally and pass it as since on the next heartbeat. Feed items include a short summary, optional changelog, the human skill page URL, and an everyskill:// manifest resource URI. If the user wants to install a feed item, read the manifest resource and then read the listed file resources.
An added event means the skill joined the Every Inside default set and should be installed for existing connected users. A removed event records that the skill is excluded from future bootstrap snapshots. Removal does not imply uninstalling an existing installation; current Plus One consumers may treat removed events as no-ops until an explicit uninstall policy exists. Enabling the designation again emits a new added event.
Search
Call the skills.search tool with a short natural-language query, optional category, and optional limit.
Example:
{
"query": "editorial style",
"category": "content-editorial",
"limit": 5
}
The tool returns skill summaries and everyskill:// manifest resource URIs.
Use specific queries based on the user's goal, not broad catalog dumps. For example, search for code review, daily brief, editorial style, or growth analysis.
Install
Read the returned skill manifest resource, such as:
everyskill://skills/every-style-check
The manifest contains metadata, entitlement state, install guidance, package URLs when available, and file resource URIs for every file in the package.
Manifest resources are expected to include fields like:
slug
name
description
access
entitlement
onboarding_note, when the skill has first-time setup guidance
package_url, when ZIP installation is available
files[], with each file's relative path, resource_uri, content type, and lock state
For accessible skills:
- Create a local skill directory named after the manifest
slug.
- For each entry in
files, read its resource_uri.
- Write the returned content to the listed relative
path.
- Preserve the full file tree exactly, including
SKILL.md, scripts/, references/, and other folders.
- Register or refresh the host agent's local skill library after writing the files, if the host requires it.
Prefer file resources over scraping the web UI. Use package_url only when the host explicitly prefers ZIP installation.
If you know the host agent's native skill directory, install there. If the host has no clear skill convention, create a project-local skill folder, preserve the package tree, and tell the user where the files were written.
If the manifest includes onboarding_note, use it after installation to ask the user only the setup questions needed to make the skill usable.
Paid skills may return locked resources for accounts without access. Do not try to infer or reconstruct locked package content.
Resource files
Read package files from their resource_uri. Preserve the file path exactly. Treat file extensions as meaningful:
.md files are markdown instructions or references.
.ts, .js, .py, .sh, and similar files are scripts or code helpers.
.json, .yaml, and .yml files are structured configuration.
- Binary assets may be encoded or exposed with a media type; write them without changing their bytes.
The root SKILL.md is the primary instruction file for an installed skill. Supporting folders such as scripts/, references/, agents/, and assets/ are part of the package and should be installed with it.
Submit
When a user asks to submit a new skill to Every Skill, package the complete skill folder and call the skills.submit tool.
The package must include a root SKILL.md with YAML frontmatter and a description field. Supported package paths are:
SKILL.md
scripts/...
references/...
agents/...
assets/...
Call skills.submit with:
{
"skill_name": "lowercase-skill-slug",
"submission_reason": "Why this skill should be reviewed and included.",
"onboarding_note": "Optional first-time setup guidance for agents.",
"files": [
{
"path": "SKILL.md",
"content": "---\\nname: example-skill\\ndescription: ...\\n---\\n\\n# Example Skill\\n...",
"encoding": "text"
}
]
}
Use text encoding for normal markdown/code files. Use base64 encoding for binary assets. Preserve the file tree exactly.
If the user wants to submit under a publishing profile, first read everyskill://account/publisher-profiles, then pass an organization profile's organization_id; the user must already belong to that organization. Omit organization_id for the personal profile. The submission will enter Every's review queue and will not publish automatically.