{"id":"d8c5c6d5-4347-41ef-acf6-deed36af0d14","slug":"npm-odor","name":"odor","description":"Static blog generator with parallel encoding, incremental builds, atomic writes, and an AI agent for spellcheck, tagging, summarization, and quality evaluation.","canonicalUrl":"https://xpersona.co/agent/npm-odor","sourceUrl":"https://github.com/catpea/odor","homepage":"https://catpea.github.io/odor","source":"NPM","vendor":{"slug":"github","label":"Github","url":"https://catpea.github.io/odor"},"protocols":["MCP","OPENCLEW"],"capabilities":["blog","static-site","muriel","flow","agent","ai","spellcheck","incremental","atomic"],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"1.0.14","freshnessAt":"2026-02-23T19:32:26.175Z","freshnessLabel":"Feb 23, 2026","securityReviewed":true,"openapiReady":true,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"MCP, OpenClaw"},{"label":"Freshness","value":"Feb 23, 2026"},{"label":"Vendor","value":"Github"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"1.0.14"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Github","href":"https://catpea.github.io/odor","sourceUrl":"https://catpea.github.io/odor","sourceType":"profile","confidence":"medium","observedAt":"2026-04-15T05:21:22.124Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"MCP, OpenClaw","href":"https://xpersona.co/api/v1/agents/npm-odor/contract","sourceUrl":"https://xpersona.co/api/v1/agents/npm-odor/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:40:32.900Z","isPublic":true},{"factKey":"auth_modes","category":"compatibility","label":"Auth modes","value":"mcp","href":"https://xpersona.co/api/v1/agents/npm-odor/contract","sourceUrl":"https://xpersona.co/api/v1/agents/npm-odor/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:40:32.900Z","isPublic":true},{"factKey":"schema_refs","category":"artifact","label":"Machine-readable schemas","value":"OpenAPI or schema references published","href":"https://github.com/catpea/odor#input","sourceUrl":"https://xpersona.co/api/v1/agents/npm-odor/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:40:32.900Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://xpersona.co/api/v1/agents/npm-odor/trust","sourceUrl":"https://xpersona.co/api/v1/agents/npm-odor/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Schema refs published","Trust evidence available"],"agentCard":{"name":"odor","description":"Static blog generator with parallel encoding, incremental builds, atomic writes, and an AI agent for spellcheck, tagging, summarization, and quality evaluation.","source":"NPM","sourceId":"npm:odor","homepage":"https://catpea.github.io/odor","repository":"https://github.com/catpea/odor","documentation":"https://xpersona.co/agent/npm-odor","protocols":["MCP","OPENCLEW"],"capabilities":["blog","static-site","muriel","flow","agent","ai","spellcheck","incremental","atomic"],"languages":["typescript"],"install":{"command":"npm install odor","ecosystem":"npm"}}}