{"id":"40cbabea-330e-4674-8c5b-d5f925557dcc","entityType":"agent","slug":"clawhub-chatgptnexus-web-clipper","name":"Web Clipper","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chatgptnexus-web-clipper","canonicalPath":"/agent/clawhub-chatgptnexus-web-clipper","generatedAt":"2026-10-11T17:42:38.996Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":null},"description":"Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Skill: Web Clipper Owner: chatgptnexus Summary: Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-04-22T02:22:51.749Z | user Security: .env loading now restricted to JINA_API_KEY and OPENCLAW_VAULT only — other secrets in .env are never touched v1.0.2 | 2026-04-22T02:11:24.186Z | u","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1781atm45k9n8e56ddtjn54e583gh4f:web-clipper","sourceUrl":"https://clawhub.ai/chatgptnexus/web-clipper","homepage":"https://clawhub.ai/chatgptnexus/skills/web-clipper","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chatgptnexus/web-clipper","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chatgptnexus/skills/web-clipper","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Skill: Web Clipper Own"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":null},"stars":null,"forks":null,"downloads":1054,"packageName":null,"latestVersion":"1.0.3","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T13:54:46.677Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T13:54:46.738Z","lastCrawledAt":"2026-10-11T13:54:46.677Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T13:54:46.677Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.3","createdAt":"2026-04-22T02:22:51.749Z","changelog":"Security: .env loading now restricted to JINA_API_KEY and OPENCLAW_VAULT only — other secrets in .env are never touched","fileCount":4,"zipByteSize":5606},{"version":"1.0.2","createdAt":"2026-04-22T02:11:24.186Z","changelog":"JINA_API_KEY is now optional — works without a key (free tier). Key only needed for higher rate limits.","fileCount":3,"zipByteSize":4341},{"version":"1.0.1","createdAt":"2026-04-22T01:53:18.915Z","changelog":"Security fix: removed local file upload, added .env auto-load, URL validation (http/https only)","fileCount":3,"zipByteSize":4346},{"version":"1.0.0","createdAt":"2026-04-22T01:44:37.989Z","changelog":"Save any web page as Obsidian Markdown clipping via Jina Reader API. Triggered by 'save <URL>' in Claude.","fileCount":3,"zipByteSize":4079}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1781atm45k9n8e56ddtjn54e583gh4f:web-clipper","setupComplexity":"low","setupSteps":["Setup 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."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T17:42:38.995Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chatgptnexus-web-clipper/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":null},"readme":"Skill: Web Clipper\n\nOwner: chatgptnexus\n\nSummary: Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions.\n\nTags: latest:1.0.3\n\nVersion history:\n\nv1.0.3 | 2026-04-22T02:22:51.749Z | user\n\nSecurity: .env loading now restricted to JINA_API_KEY and OPENCLAW_VAULT only — other secrets in .env are never touched\n\nv1.0.2 | 2026-04-22T02:11:24.186Z | user\n\nJINA_API_KEY is now optional — works without a key (free tier). Key only needed for higher rate limits.\n\nv1.0.1 | 2026-04-22T01:53:18.915Z | user\n\nSecurity fix: removed local file upload, added .env auto-load, URL validation (http/https only)\n\nv1.0.0 | 2026-04-22T01:44:37.989Z | user\n\nSave any web page as Obsidian Markdown clipping via Jina Reader API. Triggered by 'save <URL>' in Claude.\n\nArchive index:\n\nArchive v1.0.3: 4 files, 5606 bytes\n\nFiles: scripts/save_web_page.py (4996b), skill-card.md (2069b), SKILL.md (4067b), _meta.json (130b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: web-clipper\ndescription: Save any web page as an Obsidian-compatible Markdown clipping. Triggered by \"save <URL>\" or \"保存这个\". Uses Jina Reader API for clean content extraction. Supports custom tags, subfolders, and vault paths. Saves to ~/.openclaw/obsidian-cache/clippings/ by default. TRIGGER \"save <URL>\" / \"保存这个\" / any URL with \"save\" or \"clip\" -> ALWAYS exec: python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"URL\" -> Confirm the saved filename to user. NEVER use memory.\n---\n\n# Web Clipper\n\nSave any web page as a clean, readable Markdown note in your Obsidian vault. Powered by [Jina Reader API](https://jina.ai) for content extraction — no browser extension required. Works from inside Claude.\n\n## When to Use This Skill\n\n- You want to save an article for later reading in Obsidian\n- You found a useful page and want it archived as Markdown\n- You want to add tags and organize clips into subfolders\n- You need to clip technical docs, blog posts, or news articles\n- You want to avoid browser extension bloat — just tell Claude to save it\n\n## What This Skill Does\n\n1. **Fetches the page** via Jina Reader API — strips ads, nav, and noise\n2. **Converts to Markdown** — clean readable format with frontmatter\n3. **Saves to your vault** — default: `~/.openclaw/obsidian-cache/clippings/`\n4. **Adds metadata** — title, source URL, date saved, and your tags\n5. **Confirms the filename** — Claude tells you exactly where it was saved\n\n## Requirements\n\n- Python 3.7+\n- `requests` library: `pip install requests`\n- **`JINA_API_KEY`** — optional. Works without a key (free tier). Set for higher rate limits:\n\n```bash\necho 'JINA_API_KEY=jina_xxxxxxxxxxxx' >> ~/.openclaw/.env\n```\n\nGet a free key at [jina.ai](https://jina.ai/?sui=apikey)\n\n> **Note**: The script only accepts `http://` and `https://` URLs. Local file paths are not supported.\n\n## How to Use\n\n### Basic — Save a URL\n\n```\nsave https://example.com/article\n```\n\n```\n保存这个 https://v2ex.com/t/123456\n```\n\n### With Tags\n\n```\nsave https://example.com/article --tags \"ai,research\"\n```\n\n### Save to a Subfolder\n\n```\nsave https://example.com/article --folder clippings/tech\n```\n\n### Full Options\n\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\"\n```\n\n## Example\n\n**User**: `save https://www.v2ex.com/t/1197958`\n\n**Claude executes**:\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"https://www.v2ex.com/t/1197958\"\n```\n\n**Output file** (`~/.openclaw/obsidian-cache/clippings/2026-01-15 V2EX Thread Title.md`):\n```markdown\n---\ntitle: \"V2EX Thread Title\"\nsource: \"https://www.v2ex.com/t/1197958\"\nsaved: \"2026-01-15 14:32\"\ntags: []\n---\n\n# V2EX Thread Title\n\n> Source: https://www.v2ex.com/t/1197958\n> Saved: 2026-01-15 14:32\n\n---\n\n[Clean article content in Markdown...]\n```\n\n**Claude confirms**: \"已保存为 `2026-01-15 V2EX Thread Title.md` ✅\"\n\n## Supported Content\n\n| Content Type | Support |\n|---|---|\n| Blog posts / articles | ✅ |\n| Technical documentation | ✅ |\n| News articles | ✅ |\n| V2EX / Reddit threads | ✅ |\n| GitHub READMEs | ✅ |\n| PDF files (remote) | ✅ |\n| JS-heavy SPAs | ⚠️ Jina handles most; complex apps may need PinchTab |\n| Login-required pages | ❌ |\n\n## File Structure\n\n```\nweb-clipper/\n├── SKILL.md                    ← This file (Claude reads this)\n└── scripts/\n    └── save_web_page.py        ← Main clipping script\n```\n\n## Output Format\n\nSaved files include YAML frontmatter for Obsidian compatibility:\n\n```yaml\n---\ntitle: \"Article Title\"\nsource: \"https://original-url.com\"\nsaved: \"2026-01-15 14:32\"\ntags: [ai, research]\n---\n```\n\n## Notes\n\n- Filenames are auto-sanitized and dated: `YYYY-MM-DD Title.md`\n- Duplicate filenames get a counter suffix: `2026-01-15 Title (2).md`\n- Default vault: `~/.openclaw/obsidian-cache/clippings/`\n- The `JINA_API_KEY` free tier supports ~1000 requests/month\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn789r1xyzq1cq4mcjn1wdypbs83d51m\",\n  \"slug\": \"web-clipper\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1776824571749\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nSave any web page as an Obsidian-compatible Markdown clipping using Jina Reader API for clean content extraction, with support for tags, subfolders, and vault paths.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chatgptnexus](https://clawhub.ai/user/chatgptnexus)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to clip public web pages into clean Markdown notes for Obsidian-style knowledge bases, including source metadata and optional tags.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Automatic execution from vague chat context can run local commands sooner than the user expects.\n\nMitigation: Review before installing and require explicit confirmation of the exact URL and destination before execution.\n\nRisk: The skill sends requested page URLs to Jina Reader and may expose URLs or page access patterns to that external service.\n\nMitigation: Use it only for public URLs you are comfortable sending to Jina Reader.\n\nRisk: User-controlled vault, folder, or URL values can affect local file writes.\n\nMitigation: Avoid untrusted destination values until shell-safe execution and vault path containment are added.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/chatgptnexus/skills/web-clipper)\n- [Jina AI](https://jina.ai)\n- [Jina API Key](https://jina.ai/?sui=apikey)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown notes with YAML frontmatter and command-line status text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Writes clipped Markdown files to a configured Obsidian-style vault folder.]\n\n## Skill Version(s):\n\n1.0.3 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 3 files, 4341 bytes\n\nFiles: scripts/save_web_page.py (4772b), SKILL.md (4067b), _meta.json (130b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: web-clipper\ndescription: Save any web page as an Obsidian-compatible Markdown clipping. Triggered by \"save <URL>\" or \"保存这个\". Uses Jina Reader API for clean content extraction. Supports custom tags, subfolders, and vault paths. Saves to ~/.openclaw/obsidian-cache/clippings/ by default. TRIGGER \"save <URL>\" / \"保存这个\" / any URL with \"save\" or \"clip\" -> ALWAYS exec: python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"URL\" -> Confirm the saved filename to user. NEVER use memory.\n---\n\n# Web Clipper\n\nSave any web page as a clean, readable Markdown note in your Obsidian vault. Powered by [Jina Reader API](https://jina.ai) for content extraction — no browser extension required. Works from inside Claude.\n\n## When to Use This Skill\n\n- You want to save an article for later reading in Obsidian\n- You found a useful page and want it archived as Markdown\n- You want to add tags and organize clips into subfolders\n- You need to clip technical docs, blog posts, or news articles\n- You want to avoid browser extension bloat — just tell Claude to save it\n\n## What This Skill Does\n\n1. **Fetches the page** via Jina Reader API — strips ads, nav, and noise\n2. **Converts to Markdown** — clean readable format with frontmatter\n3. **Saves to your vault** — default: `~/.openclaw/obsidian-cache/clippings/`\n4. **Adds metadata** — title, source URL, date saved, and your tags\n5. **Confirms the filename** — Claude tells you exactly where it was saved\n\n## Requirements\n\n- Python 3.7+\n- `requests` library: `pip install requests`\n- **`JINA_API_KEY`** — optional. Works without a key (free tier). Set for higher rate limits:\n\n```bash\necho 'JINA_API_KEY=jina_xxxxxxxxxxxx' >> ~/.openclaw/.env\n```\n\nGet a free key at [jina.ai](https://jina.ai/?sui=apikey)\n\n> **Note**: The script only accepts `http://` and `https://` URLs. Local file paths are not supported.\n\n## How to Use\n\n### Basic — Save a URL\n\n```\nsave https://example.com/article\n```\n\n```\n保存这个 https://v2ex.com/t/123456\n```\n\n### With Tags\n\n```\nsave https://example.com/article --tags \"ai,research\"\n```\n\n### Save to a Subfolder\n\n```\nsave https://example.com/article --folder clippings/tech\n```\n\n### Full Options\n\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\"\n```\n\n## Example\n\n**User**: `save https://www.v2ex.com/t/1197958`\n\n**Claude executes**:\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"https://www.v2ex.com/t/1197958\"\n```\n\n**Output file** (`~/.openclaw/obsidian-cache/clippings/2026-01-15 V2EX Thread Title.md`):\n```markdown\n---\ntitle: \"V2EX Thread Title\"\nsource: \"https://www.v2ex.com/t/1197958\"\nsaved: \"2026-01-15 14:32\"\ntags: []\n---\n\n# V2EX Thread Title\n\n> Source: https://www.v2ex.com/t/1197958\n> Saved: 2026-01-15 14:32\n\n---\n\n[Clean article content in Markdown...]\n```\n\n**Claude confirms**: \"已保存为 `2026-01-15 V2EX Thread Title.md` ✅\"\n\n## Supported Content\n\n| Content Type | Support |\n|---|---|\n| Blog posts / articles | ✅ |\n| Technical documentation | ✅ |\n| News articles | ✅ |\n| V2EX / Reddit threads | ✅ |\n| GitHub READMEs | ✅ |\n| PDF files (remote) | ✅ |\n| JS-heavy SPAs | ⚠️ Jina handles most; complex apps may need PinchTab |\n| Login-required pages | ❌ |\n\n## File Structure\n\n```\nweb-clipper/\n├── SKILL.md                    ← This file (Claude reads this)\n└── scripts/\n    └── save_web_page.py        ← Main clipping script\n```\n\n## Output Format\n\nSaved files include YAML frontmatter for Obsidian compatibility:\n\n```yaml\n---\ntitle: \"Article Title\"\nsource: \"https://original-url.com\"\nsaved: \"2026-01-15 14:32\"\ntags: [ai, research]\n---\n```\n\n## Notes\n\n- Filenames are auto-sanitized and dated: `YYYY-MM-DD Title.md`\n- Duplicate filenames get a counter suffix: `2026-01-15 Title (2).md`\n- Default vault: `~/.openclaw/obsidian-cache/clippings/`\n- The `JINA_API_KEY` free tier supports ~1000 requests/month\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn789r1xyzq1cq4mcjn1wdypbs83d51m\",\n  \"slug\": \"web-clipper\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1776823884186\n}\n\nArchive v1.0.1: 3 files, 4346 bytes\n\nFiles: scripts/save_web_page.py (4845b), SKILL.md (4093b), _meta.json (130b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: web-clipper\ndescription: Save any web page as an Obsidian-compatible Markdown clipping. Triggered by \"save <URL>\" or \"保存这个\". Uses Jina Reader API for clean content extraction. Supports custom tags, subfolders, and vault paths. Saves to ~/.openclaw/obsidian-cache/clippings/ by default. TRIGGER \"save <URL>\" / \"保存这个\" / any URL with \"save\" or \"clip\" -> ALWAYS exec: python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"URL\" -> Confirm the saved filename to user. NEVER use memory.\n---\n\n# Web Clipper\n\nSave any web page as a clean, readable Markdown note in your Obsidian vault. Powered by [Jina Reader API](https://jina.ai) for content extraction — no browser extension required. Works from inside Claude.\n\n## When to Use This Skill\n\n- You want to save an article for later reading in Obsidian\n- You found a useful page and want it archived as Markdown\n- You want to add tags and organize clips into subfolders\n- You need to clip technical docs, blog posts, or news articles\n- You want to avoid browser extension bloat — just tell Claude to save it\n\n## What This Skill Does\n\n1. **Fetches the page** via Jina Reader API — strips ads, nav, and noise\n2. **Converts to Markdown** — clean readable format with frontmatter\n3. **Saves to your vault** — default: `~/.openclaw/obsidian-cache/clippings/`\n4. **Adds metadata** — title, source URL, date saved, and your tags\n5. **Confirms the filename** — Claude tells you exactly where it was saved\n\n## Requirements\n\n- Python 3.7+\n- `requests` library: `pip install requests`\n- **`JINA_API_KEY`** — required. Get a free key at [jina.ai](https://jina.ai/?sui=apikey)\n\nAdd to `~/.openclaw/.env` (auto-loaded by the script):\n```bash\necho 'JINA_API_KEY=jina_xxxxxxxxxxxx' >> ~/.openclaw/.env\n```\n\n> **Note**: The script only accepts `http://` and `https://` URLs. Local file paths (`file://`) are not supported for security reasons.\n\n## How to Use\n\n### Basic — Save a URL\n\n```\nsave https://example.com/article\n```\n\n```\n保存这个 https://v2ex.com/t/123456\n```\n\n### With Tags\n\n```\nsave https://example.com/article --tags \"ai,research\"\n```\n\n### Save to a Subfolder\n\n```\nsave https://example.com/article --folder clippings/tech\n```\n\n### Full Options\n\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\"\n```\n\n## Example\n\n**User**: `save https://www.v2ex.com/t/1197958`\n\n**Claude executes**:\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"https://www.v2ex.com/t/1197958\"\n```\n\n**Output file** (`~/.openclaw/obsidian-cache/clippings/2026-01-15 V2EX Thread Title.md`):\n```markdown\n---\ntitle: \"V2EX Thread Title\"\nsource: \"https://www.v2ex.com/t/1197958\"\nsaved: \"2026-01-15 14:32\"\ntags: []\n---\n\n# V2EX Thread Title\n\n> Source: https://www.v2ex.com/t/1197958\n> Saved: 2026-01-15 14:32\n\n---\n\n[Clean article content in Markdown...]\n```\n\n**Claude confirms**: \"已保存为 `2026-01-15 V2EX Thread Title.md` ✅\"\n\n## Supported Content\n\n| Content Type | Support |\n|---|---|\n| Blog posts / articles | ✅ |\n| Technical documentation | ✅ |\n| News articles | ✅ |\n| V2EX / Reddit threads | ✅ |\n| GitHub READMEs | ✅ |\n| PDF files (remote) | ✅ |\n| JS-heavy SPAs | ⚠️ Jina handles most; complex apps may need PinchTab |\n| Login-required pages | ❌ |\n\n## File Structure\n\n```\nweb-clipper/\n├── SKILL.md                    ← This file (Claude reads this)\n└── scripts/\n    └── save_web_page.py        ← Main clipping script\n```\n\n## Output Format\n\nSaved files include YAML frontmatter for Obsidian compatibility:\n\n```yaml\n---\ntitle: \"Article Title\"\nsource: \"https://original-url.com\"\nsaved: \"2026-01-15 14:32\"\ntags: [ai, research]\n---\n```\n\n## Notes\n\n- Filenames are auto-sanitized and dated: `YYYY-MM-DD Title.md`\n- Duplicate filenames get a counter suffix: `2026-01-15 Title (2).md`\n- Default vault: `~/.openclaw/obsidian-cache/clippings/`\n- The `JINA_API_KEY` free tier supports ~1000 requests/month\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn789r1xyzq1cq4mcjn1wdypbs83d51m\",\n  \"slug\": \"web-clipper\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1776822798915\n}\n\nArchive v1.0.0: 3 files, 4079 bytes\n\nFiles: scripts/save_web_page.py (4502b), SKILL.md (3914b), _meta.json (130b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: web-clipper\ndescription: Save any web page as an Obsidian-compatible Markdown clipping. Triggered by \"save <URL>\" or \"保存这个\". Uses Jina Reader API for clean content extraction. Supports custom tags, subfolders, and vault paths. Saves to ~/.openclaw/obsidian-cache/clippings/ by default. TRIGGER \"save <URL>\" / \"保存这个\" / any URL with \"save\" or \"clip\" -> ALWAYS exec: python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"URL\" -> Confirm the saved filename to user. NEVER use memory.\n---\n\n# Web Clipper\n\nSave any web page as a clean, readable Markdown note in your Obsidian vault. Powered by [Jina Reader API](https://jina.ai) for content extraction — no browser extension required. Works from inside Claude.\n\n## When to Use This Skill\n\n- You want to save an article for later reading in Obsidian\n- You found a useful page and want it archived as Markdown\n- You want to add tags and organize clips into subfolders\n- You need to clip technical docs, blog posts, or news articles\n- You want to avoid browser extension bloat — just tell Claude to save it\n\n## What This Skill Does\n\n1. **Fetches the page** via Jina Reader API — strips ads, nav, and noise\n2. **Converts to Markdown** — clean readable format with frontmatter\n3. **Saves to your vault** — default: `~/.openclaw/obsidian-cache/clippings/`\n4. **Adds metadata** — title, source URL, date saved, and your tags\n5. **Confirms the filename** — Claude tells you exactly where it was saved\n\n## Requirements\n\n- Python 3.7+\n- `requests` library: `pip install requests`\n- `JINA_API_KEY` environment variable ([get free key at jina.ai](https://jina.ai/?sui=apikey))\n\nSet your key:\n```bash\necho 'JINA_API_KEY=your_key_here' >> ~/.openclaw/.env\n```\n\n## How to Use\n\n### Basic — Save a URL\n\n```\nsave https://example.com/article\n```\n\n```\n保存这个 https://v2ex.com/t/123456\n```\n\n### With Tags\n\n```\nsave https://example.com/article --tags \"ai,research\"\n```\n\n### Save to a Subfolder\n\n```\nsave https://example.com/article --folder clippings/tech\n```\n\n### Full Options\n\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\"\n```\n\n## Example\n\n**User**: `save https://www.v2ex.com/t/1197958`\n\n**Claude executes**:\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"https://www.v2ex.com/t/1197958\"\n```\n\n**Output file** (`~/.openclaw/obsidian-cache/clippings/2026-01-15 V2EX Thread Title.md`):\n```markdown\n---\ntitle: \"V2EX Thread Title\"\nsource: \"https://www.v2ex.com/t/1197958\"\nsaved: \"2026-01-15 14:32\"\ntags: []\n---\n\n# V2EX Thread Title\n\n> Source: https://www.v2ex.com/t/1197958\n> Saved: 2026-01-15 14:32\n\n---\n\n[Clean article content in Markdown...]\n```\n\n**Claude confirms**: \"已保存为 `2026-01-15 V2EX Thread Title.md` ✅\"\n\n## Supported Content\n\n| Content Type | Support |\n|---|---|\n| Blog posts / articles | ✅ |\n| Technical documentation | ✅ |\n| News articles | ✅ |\n| V2EX / Reddit threads | ✅ |\n| GitHub READMEs | ✅ |\n| PDF files (remote) | ✅ |\n| JS-heavy SPAs | ⚠️ Jina handles most; complex apps may need PinchTab |\n| Login-required pages | ❌ |\n\n## File Structure\n\n```\nweb-clipper/\n├── SKILL.md                    ← This file (Claude reads this)\n└── scripts/\n    └── save_web_page.py        ← Main clipping script\n```\n\n## Output Format\n\nSaved files include YAML frontmatter for Obsidian compatibility:\n\n```yaml\n---\ntitle: \"Article Title\"\nsource: \"https://original-url.com\"\nsaved: \"2026-01-15 14:32\"\ntags: [ai, research]\n---\n```\n\n## Notes\n\n- Filenames are auto-sanitized and dated: `YYYY-MM-DD Title.md`\n- Duplicate filenames get a counter suffix: `2026-01-15 Title (2).md`\n- Default vault: `~/.openclaw/obsidian-cache/clippings/`\n- The `JINA_API_KEY` free tier supports ~1000 requests/month\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn789r1xyzq1cq4mcjn1wdypbs83d51m\",\n  \"slug\": \"web-clipper\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776822277989\n}","readmeExcerpt":"Skill: Web Clipper Owner: chatgptnexus Summary: Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-04-22T02:22:51.749Z | user Security: .env loading now restricted to JINA_API_KEY and OPENCLAW_VAULT only — other secrets in .env are never touched v1.0.2 | 2026-04-22T02:11:24.186Z | u","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"echo 'JINA_API_KEY=jina_xxxxxxxxxxxx' >> ~/.openclaw/.env"},{"language":"text","snippet":"save https://example.com/article"},{"language":"text","snippet":"保存这个 https://v2ex.com/t/123456"},{"language":"text","snippet":"save https://example.com/article --tags \"ai,research\""},{"language":"text","snippet":"save https://example.com/article --folder clippings/tech"},{"language":"bash","snippet":"python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: web-clipper\ndescription: Save any web page as an Obsidian-compatible Markdown clipping. Triggered by \"save <URL>\" or \"保存这个\". Uses Jina Reader API for clean content extraction. Supports custom tags, subfolders, and vault paths. Saves to ~/.openclaw/obsidian-cache/clippings/ by default. TRIGGER \"save <URL>\" / \"保存这个\" / any URL with \"save\" or \"clip\" -> ALWAYS exec: python3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"URL\" -> Confirm the saved filename to user. NEVER use memory.\n---\n\n# Web Clipper\n\nSave any web page as a clean, readable Markdown note in your Obsidian vault. Powered by [Jina Reader API](https://jina.ai) for content extraction — no browser extension required. Works from inside Claude.\n\n## When to Use This Skill\n\n- You want to save an article for later reading in Obsidian\n- You found a useful page and want it archived as Markdown\n- You want to add tags and organize clips into subfolders\n- You need to clip technical docs, blog posts, or news articles\n- You want to avoid browser extension bloat — just tell Claude to save it\n\n## What This Skill Does\n\n1. **Fetches the page** via Jina Reader API — strips ads, nav, and noise\n2. **Converts to Markdown** — clean readable format with frontmatter\n3. **Saves to your vault** — default: `~/.openclaw/obsidian-cache/clippings/`\n4. **Adds metadata** — title, source URL, date saved, and your tags\n5. **Confirms the filename** — Claude tells you exactly where it was saved\n\n## Requirements\n\n- Python 3.7+\n- `requests` library: `pip install requests`\n- **`JINA_API_KEY`** — optional. Works without a key (free tier). Set for higher rate limits:\n\n```bash\necho 'JINA_API_KEY=jina_xxxxxxxxxxxx' >> ~/.openclaw/.env\n```\n\nGet a free key at [jina.ai](https://jina.ai/?sui=apikey)\n\n> **Note**: The script only accepts `http://` and `https://` URLs. Local file paths are not supported.\n\n## How to Use\n\n### Basic — Save a URL\n\n```\nsave https://example.com/article\n```\n\n```\n保存这个 https://v2ex.com/t/123456\n```\n\n### With Tags\n\n```\nsave https://example.com/article --tags \"ai,research\"\n```\n\n### Save to a Subfolder\n\n```\nsave https://example.com/article --folder clippings/tech\n```\n\n### Full Options\n\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py \\\n  --url \"https://example.com/article\" \\\n  --folder \"clippings/tech\" \\\n  --tags \"ai,tools\" \\\n  --vault \"/path/to/your/obsidian/vault\"\n```\n\n## Example\n\n**User**: `save https://www.v2ex.com/t/1197958`\n\n**Claude executes**:\n```bash\npython3 ~/.openclaw/skills/web-clipper/scripts/save_web_page.py --url \"https://www.v2ex.com/t/1197958\"\n```\n\n**Output file** (`~/.openclaw/obsidian-cache/clippings/2026-01-15 V2EX Thread Title.md`):\n```markdown\n---\ntitle: \"V2EX Thread Title\"\nsource: \"https://www.v2ex.com/t/1197958\"\nsaved: \"2026-01-15 14:32\"\ntags: []\n---\n\n# V2EX Thread Title\n\n> Source: https://www.v2ex.com/t/1197958\n> Saved: 2026-01-15 14:32\n\n---\n\n[Clean article content in Markdown...]\n```\n\n**Claude confirms**: \"已保存为 `2026-01-15 V2EX Thread Title.md` "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn789r1xyzq1cq4mcjn1wdypbs83d51m\",\n  \"slug\": \"web-clipper\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1776824571749\n}"},{"path":"skill-card.md","content":"## Description:\n\nSave any web page as an Obsidian-compatible Markdown clipping using Jina Reader API for clean content extraction, with support for tags, subfolders, and vault paths.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chatgptnexus](https://clawhub.ai/user/chatgptnexus)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to clip public web pages into clean Markdown notes for Obsidian-style knowledge bases, including source metadata and optional tags.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Automatic execution from vague chat context can run local commands sooner than the user expects.\n\nMitigation: Review before installing and require explicit confirmation of the exact URL and destination before execution.\n\nRisk: The skill sends requested page URLs to Jina Reader and may expose URLs or page access patterns to that external service.\n\nMitigation: Use it only for public URLs you are comfortable sending to Jina Reader.\n\nRisk: User-controlled vault, folder, or URL values can affect local file writes.\n\nMitigation: Avoid untrusted destination values until shell-safe execution and vault path containment are added.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/chatgptnexus/skills/web-clipper)\n- [Jina AI](https://jina.ai)\n- [Jina API Key](https://jina.ai/?sui=apikey)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown notes with YAML frontmatter and command-line status text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Writes clipped Markdown files to a configured Obsidian-style vault folder.]\n\n## Skill Version(s):\n\n1.0.3 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Skill: Web Clipper Owner: chatgptnexus Summary: Save any web page as a clean Markdown note with metadata, organized in Obsidian format, using Jina Reader API without browser extensions. Tags: latest:1.0.3 Version history: v1.0.3 | 2026-04-22T02:22:51.749Z | user Security: .env loading now restricted to JINA_API_KEY and OPENCLAW_VAULT only — other secrets in .env are never touched v1.0.2 | 2026-04-22T02:11:24.186Z | u","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1041,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T13:54:46.738Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:42:38.996Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}