Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. --- name: xhs description: 小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. metadata: {"clawdbot":{"emoji":"📕","requires":{"bins":["rednote-mcp"]}}} --- 小红书 Research 📕 Research tool for Chinese user-generated content — travel, food, lifestyle, local discoveries. When to Use - Travel pla Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 4/14/2026.
Freshness
Last checked 4/14/2026
Best For
xhs is best for hit, overflow, run workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. --- name: xhs description: 小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. metadata: {"clawdbot":{"emoji":"📕","requires":{"bins":["rednote-mcp"]}}} --- 小红书 Research 📕 Research tool for Chinese user-generated content — travel, food, lifestyle, local discoveries. When to Use - Travel pla
Public facts
5
Change events
1
Artifacts
0
Freshness
Apr 14, 2026
Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 4/14/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Apr 14, 2026
Vendor
Cryinglee
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 4/14/2026.
Setup snapshot
git clone https://github.com/CryingLee/openclaw-skill-xhs.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Cryinglee
Protocol compatibility
MCP
Adoption signal
3 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
markdown
a) Write findings to disk immediately:
/research/{task-id}/findings/post-{n}.md
b) Check context usage:
session_status → look for "Context: XXXk/200k (YY%)"markdown
Write state file:
/research/{task-id}/state.json
{
"processed": 15,
"pendingUrls": ["url16", "url17", ...],
"summaries": ["Post 1: 火塘...", ...]
}
Return to caller:
{
"complete": false,
"processed": 15,
"remaining": 25,
"statePath": "/research/{task-id}/state.json",
"findingsDir": "/research/{task-id}/findings/"
}text
spawn_subagent(
task="Continue XHS research from /research/{task-id}/state.json",
model="claude-sonnet-4-5-20250929"
)json
{
"taskId": "kunming-food-2026-02-01",
"query": "昆明美食",
"searchesCompleted": ["昆明美食", "昆明美食推荐"], // Keywords already searched
"processedUrls": ["url1", "url2", ...], // Explicit URL tracking (prevents duplicates)
"pendingUrls": ["url3", "url4", ...], // Remaining URLs to process
"nextPostNumber": 16, // Next post-XXX.md number
"summaries": [ // 1-liner per post for final synthesis
"Post 1: 火塘餐厅 | 🟢 | ¥80 | 本地人推荐",
"Post 2: 野生菌火锅 | 🟢 | ¥120 | 菌子新鲜"
],
"batchNumber": 1,
"contextCheckpoint": "70%"
}text
sessions_spawn( task="...", model="claude-sonnet-4-5-20250929", runTimeoutSeconds=1800 // 30 minutes for research tasks )
text
[XHS Sub-agent 1]
├── Check for state.json (none = fresh start)
├── Search keyword 1 → get 20 URLs
├── Process 5-10 posts immediately (writing each to disk)
├── Search keyword 2 → get more URLs (dedupe)
├── Process more posts
├── Context hits 70% → write state.json
└── Return {complete: false, remaining: N}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. --- name: xhs description: 小红书 (Xiaohongshu/RedNote) research - search, analyze posts in depth, view images, read comments, output Chinese recommendations. Combines CLI tool usage with research methodology. metadata: {"clawdbot":{"emoji":"📕","requires":{"bins":["rednote-mcp"]}}} --- 小红书 Research 📕 Research tool for Chinese user-generated content — travel, food, lifestyle, local discoveries. When to Use - Travel pla
Research tool for Chinese user-generated content — travel, food, lifestyle, local discoveries.
When spawning as a sub-agent: Sonnet 4.5 (model: "claude-sonnet-4-5-20250929")
ALWAYS use dynamic context monitoring — even 5 posts with images can hit 75-300k tokens.
1. After EACH post, do two things:
a) Write findings to disk immediately:
/research/{task-id}/findings/post-{n}.md
b) Check context usage:
session_status → look for "Context: XXXk/200k (YY%)"
2. When context hits 70%, STOP and checkpoint:
Write state file:
/research/{task-id}/state.json
{
"processed": 15,
"pendingUrls": ["url16", "url17", ...],
"summaries": ["Post 1: 火塘...", ...]
}
Return to caller:
{
"complete": false,
"processed": 15,
"remaining": 25,
"statePath": "/research/{task-id}/state.json",
"findingsDir": "/research/{task-id}/findings/"
}
3. Caller spawns fresh sub-agent to continue:
spawn_subagent(
task="Continue XHS research from /research/{task-id}/state.json",
model="claude-sonnet-4-5-20250929"
)
New sub-agent has fresh 200k context, reads state.json, continues from post 16.
{
"taskId": "kunming-food-2026-02-01",
"query": "昆明美食",
"searchesCompleted": ["昆明美食", "昆明美食推荐"], // Keywords already searched
"processedUrls": ["url1", "url2", ...], // Explicit URL tracking (prevents duplicates)
"pendingUrls": ["url3", "url4", ...], // Remaining URLs to process
"nextPostNumber": 16, // Next post-XXX.md number
"summaries": [ // 1-liner per post for final synthesis
"Post 1: 火塘餐厅 | 🟢 | ¥80 | 本地人推荐",
"Post 2: 野生菌火锅 | 🟢 | ¥120 | 菌子新鲜"
],
"batchNumber": 1,
"contextCheckpoint": "70%"
}
Critical fields for handoff:
processedUrls: Prevents re-processing same post across sub-agentspendingUrls: Exact work remainingnextPostNumber: Ensures sequential file namingsearchesCompleted: Prevents duplicate searchesCaller should use longer timeout:
sessions_spawn(
task="...",
model="claude-sonnet-4-5-20250929",
runTimeoutSeconds=1800 // 30 minutes for research tasks
)
Default is 600s (10 min) — too short for XHS research with slow API calls.
Interleave search and processing (don't collect all URLs first):
[XHS Sub-agent 1]
├── Check for state.json (none = fresh start)
├── Search keyword 1 → get 20 URLs
├── Process 5-10 posts immediately (writing each to disk)
├── Search keyword 2 → get more URLs (dedupe)
├── Process more posts
├── Context hits 70% → write state.json
└── Return {complete: false, remaining: N}
This prevents timeout from losing all work — each post is saved as processed.
Full continuation pattern:
[Caller]
↓ spawn (runTimeoutSeconds=1800)
[XHS Sub-agent 1]
├── Search + process interleaved
├── Context hits 70% → write state.json
└── Return {complete: false, remaining: 25}
[Caller sees incomplete]
↓ spawn continuation (runTimeoutSeconds=1800)
[XHS Sub-agent 2] ← fresh 200k context!
├── Read state.json (has processedUrls, pendingUrls)
├── Continue processing + more searches if needed
├── Context hits 70% → write state.json
└── Return {complete: false, remaining: 10}
[Caller sees incomplete]
↓ spawn continuation
[XHS Sub-agent 3]
├── Read state.json
├── Process remaining posts
├── All done → write synthesis.md
└── Return {complete: true, synthesisPath: "..."}
/research/{task-id}/
├── state.json # Checkpoint for continuation
├── findings/
│ ├── post-001.md # Full analysis + image paths
│ ├── post-002.md
│ └── ...
├── images/
│ ├── post-001/
│ │ ├── 1.jpg
│ │ └── 2.jpg
│ └── ...
├── summaries.md # All 1-liners (for quick scan)
└── synthesis.md # Final output (when complete)
session_status tool⚠️ This is not optional. Even small research can overflow context with image-heavy posts.
These scripts handle the repetitive CLI work:
| Script | Purpose |
|--------|---------|
| bin/preflight | Verify tool is working before research |
| bin/search "keywords" [limit] [timeout] [sort] | Search for posts (sort: general/newest/hot) |
| bin/get-content "url" | Get full note content (text only) |
| bin/get-comments "url" | Get comments on a note |
| bin/get-images "url" [dir] | Download images only |
| bin/fetch-post "url" [cache] [retries] | Fetch content + comments + images (with retries) |
All scripts are at /root/clawd/skills/xhs/bin/
/root/clawd/skills/xhs/bin/preflight
Checks: rednote-mcp installed, cookies valid, stealth patches, test search. Don't proceed until preflight passes.
/root/clawd/skills/xhs/bin/search "昆明美食推荐" [limit] [timeout] [sort]
Returns JSON with post results.
Parameters: | Param | Default | Description | |-------|---------|-------------| | keywords | (required) | Search terms in Chinese | | limit | 10 | Max results (scroll pagination when >20) | | timeout | 180 | Seconds before giving up | | sort | general | Sort order (see below) |
Sort options:
| Value | XHS Label | When to use |
|-------|-----------|-------------|
| general | 综合 | Default — XHS algorithm balances relevance + engagement. Best for most research. |
| newest | 最新 | 舆情监控, breaking news, recent experiences, time-sensitive topics |
| hot | 最热 | Finding viral/popular posts, trending content |
Examples:
# Default sort (recommended for most research)
bin/search "昆明美食推荐" 20
# Recent posts first (舆情, current events)
bin/search "某品牌 评价" 20 180 newest
# Most popular posts
bin/search "网红打卡地" 15 180 hot
Scroll pagination enabled (patched): When limit > 20, the tool scrolls to load more results via XHS infinite scroll. Actual results depend on available content.
For maximum coverage, combine:
limit=50) to scroll for moreResults vary by query — popular topics may return 30-50+, niche topics fewer.
Choosing sort order:
general (default). Let XHS's algorithm surface the best content.newest. You want recent opinions, not old viral posts.hot. See what's currently popular./root/clawd/skills/xhs/bin/get-content "FULL_URL_WITH_XSEC_TOKEN"
⚠️ Must use full URL with xsec_token from search results.
/root/clawd/skills/xhs/bin/get-comments "FULL_URL_WITH_XSEC_TOKEN"
Download all images from a post to local files:
/root/clawd/skills/xhs/bin/get-images "FULL_URL" /tmp/my-images
Fetch content, comments, and images in one call — with built-in retries:
/root/clawd/skills/xhs/bin/fetch-post "FULL_URL" /path/to/cache [max_retries]
Features:
Returns JSON:
{
"success": true,
"postId": "abc123",
"content": {
"title": "...",
"author": "...",
"desc": "...",
"likes": "983",
"tags": [...],
"postDate": "2025-09-04" // ← Added via patch!
},
"comments": [{ "author": "...", "content": "...", "likes": "3" }, ...],
"imagePaths": ["/cache/images/abc123/1.jpg", ...],
"errors": []
}
Date filtering: Use postDate to filter out old posts. Skip posts older than your threshold (e.g., 6-12 months for restaurants).
Workflow:
1. fetch-post → JSON + cached images
2. Read each imagePath directly (Claude sees images natively)
3. Combine text + comments + what you see into findings
Viewing images:
Read("/path/to/1.jpg") # Claude sees it directly - no special tool needed
Look for: visible text (addresses, prices, hours), atmosphere, food presentation, crowd levels.
This is where you think. Scripts do the fetching; you do the analyzing.
| Depth | Posts | When to Use | |-------|-------|-------------| | Minimum | 5+ | Quick checks, simple queries | | Standard | 8-10 | Default for most research | | Deep | 15+ | Complex topics, trip planning |
Minimum is 5 — unless fewer exist. Note limited coverage if <5 results.
Run bin/preflight. Don't proceed until it passes.
Think: "What would a Chinese user search on 小红书?"
Date filtering:
Posts include postDate field (e.g., "2025-09-04"). The calling agent specifies the date filter based on research type:
| Research Type | Suggested Filter | Why | |---------------|------------------|-----| | 舆情监控 (sentiment) | 1-4 weeks | Only current discourse matters | | Breaking news/events | 1-7 days | Time-critical | | Travel planning | 6-12 months | Recent but reasonable window | | Product reviews | 1-2 years | Longer product cycles | | Trend analysis | Custom range | Compare specific periods | | Historical/general | No limit | Want the full archive |
Caller should specify in task description, e.g.:
If no filter specified: Default to 12 months (safe middle ground).
Fallback when postDate is null: Use keyword hints: 2025, 最近, 最新
Language strategy:
| Location | Language | Example |
|----------|----------|---------|
| China | Chinese | 昆明攀岩 |
| English-named venues | Both | Rock Tenet 昆明 |
| International | Chinese | 巴黎旅游 |
Run your searches. Results are already ranked by XHS's algorithm (relevance + engagement).
Use judgment based on preview — like a human deciding what to click:
Think: "Given my research goal, would this post likely contain useful information?"
| Research Type | What to prioritize | |---------------|-------------------| | 舆情监控 (sentiment) | Any opinion/experience, even low engagement — complaints matter! | | Travel planning | High engagement + detailed experiences | | Product reviews | Mix of positive AND negative reviews | | Trend analysis | Variety of perspectives |
| Preview Signal | Action | |----------------|--------| | Relevant content in preview | ✅ Fetch | | Matches research goal | ✅ Fetch | | Low engagement but relevant opinion | ✅ Fetch (esp. for 舆情) | | High engagement but off-topic | ❌ Skip | | Official announcements only | ⚠️ Context-dependent | | 广告/合作 markers | ⚠️ Note as sponsored if fetching | | Clearly off-topic | ❌ Skip | | Duplicate content | ❌ Skip |
Key insight: For 舆情监控, a 3-like complaint post may be more valuable than a 500-like promotional post. Engagement ≠ relevance for all research types.
For each selected post, use fetch-post to get everything:
bin/fetch-post "url_from_search" {{RESEARCH_DIR}}/xhs
Returns JSON with content, comments, and cached images. Has built-in retries. Then:
A. Review content
B. View images (critical!)
For each imagePath in the result, just read it:
Read("/path/to/1.jpg") # You see it directly
⚠️ Don't describe images in isolation. Synthesize what you see with the post content and comments to form a holistic view. An image of a crowded restaurant + author saying "周末排队1小时" + comments confirming "人超多" = that's your finding about crowds.
C. Review comments (gold for updates)
D. Return picked images Include paths to the best/most informative images in your findings. The calling agent decides whether and how to use them (embed in reports, reference, etc.). You're curating — pick images that show something useful (venue exterior, menu with prices, actual food, atmosphere) not just decorative shots.
Facts + Flavor — structured findings that preserve the XHS voice.
## XHS Research: [Topic]
### Search Summary
| Search | Results | Notes |
|--------|---------|-------|
| 昆明攀岩 | 10 | Good coverage |
### Findings
#### [Venue Name] (中文名)
- **Type:** Restaurant / Activity / Attraction
- **Address:** [from post or image]
- **Price:** ¥XX/person
- **Hours:** [if found]
- **The vibe:** [atmosphere, energy — preserved voice]
- **Why people like it:** [opinions, impressions]
- **Watch out for:** [warnings from comments]
- **Source:** [full URL]
- **Engagement:** X likes
- **Images:** [paths for calling agent to use]
- `/path/to/1.jpg` — exterior/entrance
- `/path/to/3.jpg` — menu with prices
> "引用原文..." — @username
### Overall Impressions
- Consensus across posts
- Patterns in preferences
- Things only locals know
- Disagreements worth noting
The XHS value is the human perspective. A recommendation that says "环境一般但是味道绝了" tells you more than "Rating: 4.2/5".
Think: "What would a friend who just spent an hour on XHS tell me?"
Trustworthy:
Checking recency:
Suspicious:
The rednote-mcp CLI is slow (30-90s per search). Don't rapid-fire poll.
When running searches via exec:
# GOOD: Give it time to complete
exec(command, yieldMs: 60000) # Wait 60s before checking
process(poll) # Then poll every 30s if still running
DON'T:
Don't wait until you've analyzed everything to start writing. After each batch of 3-5 posts:
## Findings (in progress)
### Batch 1: 美食搜索 (3 posts analyzed)
[findings...]
### Batch 2: 攻略搜索 (analyzing...)
If you've been running 15+ minutes:
rednote-mcp is slow. If a command times out:
Attempt 1: default timeout
Attempt 2: +60s
Attempt 3: +120s
If all fail, report the failure. Do NOT fall back to web_search — defeats the purpose.
| Error | Cause | Fix |
|-------|-------|-----|
| Timeout | Network/XHS slow | Retry with longer timeout |
| Login/cookie error | Session expired | xvfb-run -a rednote-mcp init |
| 404 / xsec_token | Missing token | Use full URL from search |
| Empty results | No posts | Try different keywords |
npm install -g rednote-mcp
npx playwright install
/root/clawd/skills/xhs/patches/apply-all.sh
xvfb-run -a rednote-mcp init
xvfb-run -a rednote-mcp init
/root/clawd/skills/xhs/patches/apply-all.sh
This skill = Research tool that outputs structured findings Calling agent = Synthesizes XHS + other sources into final reports, decides which images to embed
You return:
You don't:
XHS is like having a Chinese-speaking friend spend an hour researching for you. They'd give you facts, but also opinions, vibes, and insider tips. That's what you're capturing.
Remember: Research like a curious human. Explore, cross-reference, look at pictures, read comments. The "这家真的绝了" matters as much as the address.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/snapshot"
curl -s "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/contract"
curl -s "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-16T23:36:00.614Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "hit",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "overflow",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "run",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:hit|supported|profile capability:overflow|supported|profile capability:run|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Cryinglee",
"href": "https://github.com/CryingLee/openclaw-skill-xhs",
"sourceUrl": "https://github.com/CryingLee/openclaw-skill-xhs",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-14T22:25:12.573Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-14T22:25:12.573Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "3 GitHub stars",
"href": "https://github.com/CryingLee/openclaw-skill-xhs",
"sourceUrl": "https://github.com/CryingLee/openclaw-skill-xhs",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-14T22:25:12.573Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/cryinglee-openclaw-skill-xhs/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to xhs and adjacent AI workflows.