Endpoints
Both endpoints require authentication and validate vault read permissions.
skills.getById
Retrieve a skill by its unique UUID.Input Schema
UUID of the skill to retrieve
Whether to convert mention syntax to HTML links in rendered content
skills.getBySlug
Retrieve a skill by its slug identifier. Slugs are unique within a vault.Input Schema
Slug identifier of the skill (case-insensitive)
Vault slug to disambiguate when the same skill slug exists in multiple vaults
Whether to convert mention syntax to HTML links in rendered content
Slug Resolution
WhenvaultSlug is omitted:
- If the slug exists in only one accessible vault → returns that skill
- If the slug exists in multiple vaults → throws
CONFLICTerror with vault disambiguation list
vaultSlug or use the format <vault-slug>/<skill-slug>.
Output Schema
Both endpoints return the same complete skill object:UUID of the skill
User ID of the skill owner (null for system skills)
URL-safe identifier for the skill
Display name of the skill
Brief description of the skill
Raw markdown content as stored in the database, with original mention syntax
Processed markdown with mentions resolved. If
linkMentions: true, mentions are converted to HTML links.Parsed YAML frontmatter from the skill markdown
Additional metadata key-value pairs
Whether this is a default system skill
Original source URL if imported
Original source identifier if imported
Array of bundled resource files (scripts, references, assets)
Vault metadata with user-specific permissions
Timestamp when the skill was created
Timestamp when the skill was last updated
Markdown Rendering
originalMarkdown vs renderedMarkdown
- originalMarkdown: Contains raw mention syntax like
@[skill-name](skill-id)or@[resource-path](resource-id) - renderedMarkdown: Mentions are processed:
- If
linkMentions: false→ mentions are replaced with plain text labels - If
linkMentions: true→ mentions are converted to clickable HTML links
- If
content (original) and renderedContent (processed) in resources.
TypeScript Examples
Fetch by UUID
Fetch by Slug
Access Resources
Error Handling
NOT_FOUND: Skill does not exist or user lacks read permissionCONFLICT: Slug exists in multiple vaults (only forgetBySlug)UNAUTHORIZED: No valid session
Notes
- Both endpoints validate vault read permissions before returning data
- Skills in disabled vaults (
isEnabled: false) are still accessible but marked accordingly - System default skills (
type: "system_default") are always read-only - Enterprise vault read-only status depends on user role (admin vs. member)