Skip to content

Project skills reference

Project skills are exposed through the web UI, REST API, and MCP tools. The web UI uses the same REST surface as MCP.

REST routes

All routes are project-scoped under /api/projects/{id}/skills.

MethodRoutePurpose
GET/api/projects/{id}/skillsList catalog skills with status, provenance, source, content hash, resources count, and assigned agents.
GET/api/projects/{id}/skills/{skillId}Get one skill, including instructions and bundled text resources.
POST/api/projects/{id}/skillsCreate or update a manual skill from name, optional displayName, description, and required instructions.
DELETE/api/projects/{id}/skills/{skillId}Delete a skill and its assignments.
POST/api/projects/{id}/skills/generateGenerate an unsaved skill draft server-side from description or prompt.
POST/api/projects/{id}/skills/syncDiscover and sync skills from the connected repository.
POST/api/projects/{id}/skills/import/previewPreview candidate skills from owner/repo, a https://github.com repo/tree/blob URL, or a raw https://raw.githubusercontent.com SKILL.md URL.
POST/api/projects/{id}/skills/importImport selected candidates from owner/repo, a https://github.com repo/tree/blob URL, or a raw https://raw.githubusercontent.com SKILL.md URL.
POST/api/projects/{id}/skills/uploadUpload files, folders, or a .zip archive as skill content.
GET/api/skill-marketplacesList enabled administrator-curated marketplaces.
POST/api/projects/{id}/skill-marketplaces/{marketplace}/browseBrowse or search a curated marketplace without changing the catalog.
POST/api/projects/{id}/skill-marketplaces/{marketplace}/importImport selected marketplace candidates through the normal repository-import pipeline.
GET/api/projects/{id}/skills/assignmentsList all skill-to-agent assignments in the project.
PUT/api/projects/{id}/skills/{skillId}/assignments/{agentName}Assign a skill to an agent.
DELETE/api/projects/{id}/skills/{skillId}/assignments/{agentName}Unassign a skill from an agent.

Import source restrictions

import and import/preview parse the supplied source through an allow-list before any clone or fetch. Only two hosts are accepted: github.com (HTTPS only, default port, no userinfo) and raw.githubusercontent.com (which must point directly at a SKILL.md). The owner/repo shorthand maps to the canonical https://github.com/{owner}/{repo}.git clone URL. Any other scheme (http, git, ssh, file), a non-default port, embedded credentials, or a different host is rejected with a 400 and a message such as "Unsupported skill source host … Only github.com and raw.githubusercontent.com are allowed." This is an SSRF guard, not a convenience limit.

DTOs

Skill

FieldMeaning
idProject-local skill id.
nameSKILL.md frontmatter name. Unique per project.
descriptionShort description shown in the catalog and prompt metadata.
provenanceconnected-repo-sync, repo-import, file-upload, or manual.
source_repositoryConnected repo identifier or imported repo URL when applicable.
source_locationSkill folder path in the source when applicable.
marketplace_nameCurated marketplace identity when provenance is marketplace.
statusactive, missing, or malformed.
content_hashStable hash used for idempotent sync/import/upload.
resource_countNumber of bundled text resources.
assigned_agentsAgent names currently assigned to the skill.
created_at, updated_atCatalog timestamps.

GET /skills/{skillId} also returns instructions and resources[] with relative_path and content.

Acquisition result

Create, sync, import, and upload return:

FieldMeaning
results[]Per-candidate outcome with location, name, kind, skill_id, and validation errors.
marked_missing[]Connected-repo skills marked missing because their source location disappeared.

MCP tools

The MCP skill tools mirror the REST surface except multipart upload, which is web-only:

ToolPurpose
skill_listList catalog skills with assignments and status.
skill_getFetch a full skill including SKILL.md instructions and resources.
skill_deleteDelete a catalog skill and assignments.
skill_createCreate or update a manual skill.
skill_generateGenerate an unsaved skill draft server-side.
skill_syncSync recognized skill directories from the connected repository.
skill_import_previewPreview candidate skills from GitHub/Git/raw SKILL.md sources.
skill_importImport one or more previewed locations from GitHub/Git/raw SKILL.md sources.
skill_assignments_listList all project assignments.
skill_assignAssign a skill to an agent.
skill_unassignRemove an assignment.

See the generated MCP tool index for the full authoritative tool list.

Source

ConcernSource
REST route map and status codesapps/Agentweaver.Api/Endpoints/SkillEndpoints.cs:15
Web client route wrappers and multipart uploadapps/web/src/api/client.ts:373
TypeScript DTOsapps/web/src/api/types.ts:1306
MCP skill toolsapps/Agentweaver.Mcp/Tools/SkillTools.cs:40

Curated marketplaces

Administrators configure trusted marketplace definitions in the API SkillMarketplaces:Definitions configuration section. Each definition has a name, GitHub repository, optional subpath/layout note, branch, and enabled flag. Disabled or removed definitions disappear from browse results but never delete skills already imported from them. The built-in configuration includes GitHub Awesome Copilot (github/awesome-copilot at skills) and Azure Skills (microsoft/skills at .github/plugins/azure-skills/skills). Browse failures return an unavailable-source response and do not modify the project catalog.