SkillMeat v0.35.0 Release Notes¶
Release Date: 2026-04-27
Added¶
- Agentic Artifact Discovery v2 — Three-tier discovery system with Quick (keyword-based), Enhanced (LLM-powered enrichment and reranking), and Agent (iterative multi-turn via Claude Code) modes with configurable providers (Claude API, Subscription OAuth, OpenAI, Ollama). Includes MCP server integration (
skillmeat-mcpconsole script withdiscover_artifactstool), SSE streaming for agent thinking events, discovery mode selector UI with keyboard navigation and localStorage persistence, and discovery log with LLM/agent metadata columns for observability. - Discovery API mode parameter —
POST /api/v1/discoverendpoint now acceptsmodeparameter (quick/enhanced/agent; defaults toquickfor backward compatibility). Discovery results include optional LLM enrichment fields (relevance_score, similarity_metrics, reasoning) and agent turn metadata for multi-turn discovery workflows. - Agent-driven artifact discovery —
skillmeat discoverCLI command and web UI discover page enable discovery of artifacts from text or file input across the collection, marketplace, and curated web sources with trust tier ranking. IncludesPOST /api/v1/discoverendpoint with SSE streaming and JSON fallback,GET /api/v1/discover/logfor session history,POST /api/v1/discover/refresh-indexfor web index cache refresh, progressive candidate rendering with trust tier model (trusted/candidate/unverified/quarantined) and configurable allowlists, and bundle assembly from discovery results. - Artifact search to discovery adapter — Pure-function adapter module at
skillmeat/web/lib/adapters/artifact-search-to-discovery.tsmapsArtifactSearchResult→AgentDiscoveryCandidate, enabling unified card rendering across marketplace search and discovery contexts. Handles confidence score normalization (0–100 integer → 0.0–1.0 float), trust tier defaults, and marketplace metadata population with 100% type coverage. - @miethe/ui ArticleViewer component — Rich Markdown/MDX rendering component with typography variants (
default,prose,compact), frontmatter metadata display, HTML string input with DOMPurify XSS sanitization, callout/admonition support, and full test coverage. - ContentViewer opt-in sanitize prop —
sanitizeboolean prop onContentViewerenables DOMPurify XSS sanitization for untrusted HTML content rendering. - Human brief document type — New
human_briefdoc type for orchestrator-facing planning documents indocs/project_plans/human-briefs/.
Changed¶
- Discovery Request/Result schemas —
DiscoveryRequestextended withmodeparameter andDiscoveryResultextended with optionalllm_metadata(provider, reasoning, score) andagent_metadata(turn_number, session_id) fields for multi-mode discovery tracking. - Marketplace artifact search results UI —
/marketplace/sources?mode=artifactssearch results now render via unifiedDiscoveryCardcomponent (from@miethe/ui/discovery) instead of bespoke inline cards, providing visual and functional parity with/artifactspage. Includes grid/list view toggle with URL state sync (?view=param), per-groupFilterBarwith client-side sort (name, type, relevance score) and artifact type filter, and grouped accordion layout with source repo headers preserved. - MkDocs dev server opt-in —
skillmeat web devno longer starts the MkDocs documentation server by default; pass--docsflag to include it. - Header branding refresh — Navigation header updated with recreated SkillMeat logo.
Fixed¶
- Path traversal rejection — Artifact path resolver now rejects
..segments with a 400 error, preventing directory traversal in artifact file access. - Marketplace import path diagnostics — Improved path escape diagnostics and fixed collection cache invalidation after marketplace artifact import.
- DiscoveredArtifact backward compatibility — Added
DiscoveredArtifactto the legacy re-export shim inskillmeat/core/__init__.pyfor consumers importing from the old path. - Duplicate LLM enrichment — Removed duplicate LLM enrichment call in the discovery intent extraction pipeline that caused redundant API requests.
- ContentViewer CJS imports — Replaced CommonJS
require()calls with ES module imports incontent-viewerto fix bundler warnings and tree-shaking.