[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FXYNQ51Q4C5WZQNDF2CF13":3,"skill-same:01M6FXYNQ51Q4C5WZQNDF2CF13":148},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6FXYNQ51Q4C5WZQNDF2CF13","notion",null,"Integrate with Notion workspaces to read pages, query databases, create entries, and manage content. Perfect for knowledge bases, project tracking, content calendars, CRMs, and collaborative documentation. Works with any Notion page or database you explicitly share with the integration.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"databases","you","with","pages","project","entries","query","manage","workspaces","bases","integrate","read","page","knowledge","manage content","database","share","create","documentation","2026-11-10 10:12:30",false,"---\nname: notion\nversion: 0.1.0\ndescription: Integrate with Notion workspaces to read pages, query databases, create entries, and manage content. Perfect for knowledge bases, project tracking, content calendars, CRMs, and collaborative documentation. Works with any Notion page or database you explicitly share with the integration.\n---\n\n# Notion Integration\n\nConnect your Notion workspace to OpenClaw for seamless knowledge management and project tracking.\n\n## When to Use This Skill\n\nUse Notion when the user wants to:\n- **Add items to a database** (backlog, todos, tracking)\n- **Create new pages** in a database or as children of existing pages  \n- **Query\u002Fsearch** their Notion workspace for information\n- **Update existing pages** (status, notes, properties)\n- **Read page content** or database entries\n\n## Setup\n\n### 1. Create Notion Integration\n1. Go to [notion.so\u002Fmy-integrations](https:\u002F\u002Fwww.notion.so\u002Fmy-integrations)\n2. Click **New integration**\n3. Name it (e.g., \"OpenClaw\")\n4. Select your workspace\n5. Copy the **Internal Integration Token** (starts with `secret_`)\n6. Save this token securely in OpenClaw config or environment: `NOTION_TOKEN=secret_...`\n\n### 2. Share Pages with Integration\n**Important:** Notion integrations have NO access by default. You must explicitly share:\n\n1. Go to any page or database in Notion\n2. Click **Share** → **Add connections**\n3. Select your \"OpenClaw\" integration\n4. The skill can now read\u002Fwrite to that specific page\u002Fdatabase\n\n### 3. Get Database\u002FPage IDs\n\n**From URL:**\n- Database: `https:\u002F\u002Fwww.notion.so\u002Fworkspace\u002FXXXXXXXX?v=...` → ID is `XXXXXXXX` (32 chars)\n- Page: `https:\u002F\u002Fwww.notion.so\u002Fworkspace\u002FXXXXXXXX` → ID is `XXXXXXXX`\n\n**Note:** Remove hyphens when using IDs. Use the 32-character string.\n\n## Core Operations\n\n### Query Database\n\nRetrieve entries from any database you've shared.\n\n```typescript\n\u002F\u002F Using the Notion skill via exec\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${databaseId}`\n});\n\n\u002F\u002F With filters (example: status = \"In Progress\")\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${databaseId} --filter '{\"property\":\"Status\",\"select\":{\"equals\":\"In Progress\"}}'`\n});\n```\n\n**Returns:** Array of pages with properties as configured in your database.\n\n### Add Database Entry\n\nCreate a new row in a database.\n\n```typescript\n\u002F\u002F Add entry with multiple properties\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${databaseId} \\\n    --title \"My New Content Idea\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Idea\" } },\n      \"Platform\": { \"multi_select\": [{ \"name\": \"X\u002FTwitter\" }] },\n      \"Tags\": { \"multi_select\": [{ \"name\": \"3D Printing\" }, { \"name\": \"AI\" }] },\n      \"Priority\": { \"select\": { \"name\": \"High\" } }\n    })}'`\n});\n```\n\n### Get Page Content\n\nRead the content of any page (including database entries).\n\n```typescript\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js get-page ${pageId}`\n});\n```\n\n**Returns:** Page title, properties, and block content (text, headings, lists, etc.).\n\n### Update Page\n\nModify properties or append content to an existing page.\n\n```typescript\n\u002F\u002F Update properties\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js update-page ${pageId} \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"In Progress\" } }\n    })}'`\n});\n\n\u002F\u002F Append content blocks\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js append-body ${pageId} \\\n    --text \"Research Notes\" --type h2`\n});\n```\n\n### Search Notion\n\nFind pages across your shared workspace.\n\n```typescript\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"content ideas\"`\n});\n```\n\n## Common Use Cases\n\n### Content Pipeline (Content Creator Workflow)\n\n**Database Structure:**\n- Title (title)\n- Status (select: Idea → Draft → Scheduled → Posted)\n- Platform (multi_select: X\u002FTwitter, YouTube, MakerWorld, Blog)\n- Publish Date (date)\n- Tags (multi_select)\n- Draft Content (rich_text)\n\n**OpenClaw Integration:**\n```typescript\n\u002F\u002F Research scout adds findings to Notion\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${contentDbId} \\\n    --title \"New 3D Print Technique\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Idea\" } },\n      \"Platform\": { \"multi_select\": [{ \"name\": \"YouTube\" }] },\n      \"Tags\": { \"multi_select\": [{ \"name\": \"3D Printing\" }] }\n    })}'`\n});\n\n\u002F\u002F Later: Update when drafting\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js update-page ${entryId} \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Draft\" } },\n      \"Draft Content\": { \"rich_text\": [{ \"text\": { \"content\": \"Draft text here...\" } }] }\n    })}'`\n});\n```\n\n### Project Management (Solo Entrepreneur)\n\n**Database Structure:**\n- Name (title)\n- Status (select: Not Started → In Progress → Blocked → Done)\n- Priority (select: Low → Medium → High → Critical)\n- Due Date (date)\n- Estimated Hours (number)\n- Actual Hours (number)\n- Links (url)\n- Notes (rich_text)\n\n**Weekly Review Integration:**\n```typescript\n\u002F\u002F Query all \"In Progress\" projects\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${projectsDbId} --filter '{\"property\":\"Status\",\"select\":{\"equals\":\"In Progress\"}}'`\n});\n```\n\n### Customer\u002FQuote CRM (3D Printing Business)\n\n**Database Structure:**\n- Customer Name (title)\n- Status (select: Lead → Quote Sent → Ordered → Printing → Shipped)\n- Email (email)\n- Quote Value (number)\n- Filament Type (select)\n- Due Date (date)\n- Shopify Order ID (rich_text)\n\n**Shopify Integration:**\n```typescript\n\u002F\u002F New order → create CRM entry\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${crmDbId} \\\n    --title \"${customerName}\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Ordered\" } },\n      \"Email\": { \"email\": customerEmail },\n      \"Shopify Order ID\": { \"rich_text\": [{ \"text\": { \"content\": orderId } }] }\n    })}'`\n});\n```\n\n### Knowledge Base (Wiki Replacement for MEMORY.md)\n\n**Structure:** Hub page with nested pages:\n- ? Home (shared with integration)\n  - SOPs\n  - Troubleshooting\n  - Design Patterns\n  - Resource Links\n\n**Query for quick reference:**\n```typescript\n\u002F\u002F Search for \"stringing\" to find 3D print troubleshooting\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"stringing\"`\n});\n```\n\n## Property Types Reference\n\nWhen creating\u002Fupdating database entries, use these property value formats:\n\n```typescript\n\u002F\u002F Title (always required for new pages)\n{ \"title\": [{ \"text\": { \"content\": \"Page Title\" } }] }\n\n\u002F\u002F Select (single choice)\n{ \"select\": { \"name\": \"Option Name\" } }\n\n\u002F\u002F Multi-select (multiple choices)\n{ \"multi_select\": [{ \"name\": \"Tag 1\" }, { \"name\": \"Tag 2\" }] }\n\n\u002F\u002F Status (for new Status property type)\n{ \"status\": { \"name\": \"In progress\" } }\n\n\u002F\u002F Text \u002F Rich text\n{ \"rich_text\": [{ \"text\": { \"content\": \"Your text here\" } }] }\n\n\u002F\u002F Number\n{ \"number\": 42 }\n\n\u002F\u002F Date\n{ \"date\": { \"start\": \"2026-02-15\" } }\n{ \"date\": { \"start\": \"2026-02-15T10:00:00\", \"end\": \"2026-02-15T12:00:00\" } }\n\n\u002F\u002F Checkbox\n{ \"checkbox\": true }\n\n\u002F\u002F Email\n{ \"email\": \"user@example.com\" }\n\n\u002F\u002F URL\n{ \"url\": \"https:\u002F\u002Fexample.com\" }\n\n\u002F\u002F Phone\n{ \"phone_number\": \"+1-555-123-4567\" }\n\n\u002F\u002F Relation (link to another database entry)\n{ \"relation\": [{ \"id\": \"related-page-id-32chars\" }] }\n```\n\n## Security & Permissions\n\n**Critical Security Model:**\n- ✅ Integration ONLY sees pages you explicitly share\n- ✅ You control access per page\u002Fdatabase\n- ✅ Token stored securely in `~\u002F.openclaw\u002F.env` (never in code)\n- ❌ Never commit `NOTION_TOKEN` to git\n- ❌ Integration cannot access private teamspaces or other users' private pages\n\n**Best Practices:**\n1. Use a dedicated integration (don't reuse personal integrations)\n2. Share minimum necessary pages (granular > broad)\n3. Rotate token if compromised via Notion integration settings\n4. Review shared connections periodically\n\n## Environment Setup\n\nAdd to `~\u002F.openclaw\u002F.env`:\n```bash\nNOTION_TOKEN=secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n```\n\nOr set per-command:\n```bash\nNOTION_TOKEN=secret_xxx node notion-cli.js ...\n```\n\n## Error Handling\n\nCommon errors and fixes:\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| \"API token is invalid\" | Wrong token or integration deleted | Check token at notion.so\u002Fmy-integrations |\n| \"object_not_found\" | Page not shared with integration | Share page: Share → Add connections |\n| \"validation_error\" | Property format incorrect | Check property type in database |\n| \"rate_limited\" | Too many requests | Add delay between requests |\n\n## Quick Install (One Command)\n\n```bash\ncd ~\u002F.agents\u002Fskills\u002Fnotion\n.\u002Finstall.sh\n```\n\n**Manual install (if above fails):**\n```bash\ncd ~\u002F.agents\u002Fskills\u002Fnotion\nnpm install\n```\n\nThat's it! No build step required for the standalone version.\n\n## Quick Test\n\n```bash\n# After setting NOTION_TOKEN in ~\u002F.openclaw\u002F.env\nnode notion-cli.js test\n```\n\n## Smart ID Resolution\n\nReference entries by **Notion auto-ID** (e.g., `#3`) or **direct UUID**.\n\n### By Notion ID (Recommended for Manual Use)\n\nUse the number you see in your database's ID column:\n\n```bash\n# Get entry #3\nnode notion-cli.js get-page '#3' DATABASE_ID\n\n# Add content to entry #3\nnode notion-cli.js append-body '#3' --database DATABASE_ID \\\n  --text \"Research notes\" --type h2\n\n# Add bullet to entry #3\nnode notion-cli.js append-body '#3' --database DATABASE_ID \\\n  --text \"Key finding\" --type bullet\n```\n\n### By Direct UUID (For Automation)\n\n```bash\n# Using full UUID from Notion URL\nnode notion-cli.js get-page 2fb3e4ac...\nnode notion-cli.js append-body 2fb3e4ac... \\\n  --text \"Content\" --type paragraph\n```\n\n**Auto-detection:** Starts with `#` = Notion ID lookup. 32-char hex = Direct UUID.\n\n**Pro Tip:** Add an `ID` property (type: unique ID) to auto-number entries as #1, #2, #3...\n\n## Page Body Editing\n\nAdd rich content to page bodies, not just properties.\n\n### Append Content Blocks\n\n```bash\n# Add heading\nnode notion-cli.js append-body PAGE_ID --text \"Research Summary\" --type h2\n\n# Add paragraph (default)\nnode notion-cli.js append-body PAGE_ID --text \"Detailed findings go here...\"\n\n# Add bullet list item\nnode notion-cli.js append-body PAGE_ID --text \"First key finding\" --type bullet\n\n# Add numbered list item\nnode notion-cli.js append-body PAGE_ID --text \"Step one description\" --type numbered\n\n# Add TODO checkbox\nnode notion-cli.js append-body PAGE_ID --text \"Create video script\" --type todo\n\n# Add quote\nnode notion-cli.js append-body PAGE_ID --text \"Important quote from source\" --type quote\n\n# Add code block\nnode notion-cli.js append-body PAGE_ID --text \"const result = optimizeSupports();\" --type code --lang javascript\n```\n\n### Supported Block Types\n\n| Type | Description | Example Use |\n|------|-------------|-------------|\n| `paragraph` | Regular text (default) | Descriptions, explanations |\n| `h1`, `h2`, `h3` | Headings | Section organization |\n| `bullet` | Bulleted list | Key findings, features |\n| `numbered` | Numbered list | Step-by-step instructions |\n| `todo` | Checkbox item | Action items, tasks |\n| `quote` | Blockquote | Source citations |\n| `code` | Code block | Snippets, commands |\n| `divider` | Horizontal line | Section separation |\n\n### Get Page with Body Content\n\n```bash\n# Get full page including formatted body\nnode notion-cli.js get-page PAGE_ID\n```\n\nReturns:\n- Page properties\n- Formatted body blocks (type + content preview)\n- Block count\n\n### Advanced: Raw JSON Blocks\n\nFor complex layouts, use raw Notion block JSON:\n\n```bash\nnode notion-cli.js append-body PAGE_ID --blocks '[\n  {\"object\":\"block\",\"type\":\"heading_2\",\"heading_2\":{\"rich_text\":[{\"text\":{\"content\":\"Research Notes\"}}]}},\n  {\"object\":\"block\",\"type\":\"bulleted_list_item\",\"bulleted_list_item\":{\"rich_text\":[{\"text\":{\"content\":\"Finding 1\"}}]}},\n  {\"object\":\"block\",\"type\":\"code\",\"code\":{\"rich_text\":[{\"text\":{\"content\":\"console.log(1)\"}}],\"language\":\"javascript\"}}\n]'\n```\n\n## Advanced: Webhook Sync\n\nFor bidirectional sync (Notion changes → OpenClaw):\n\n1. Set up Notion webhook integration (requires Notion partner account)\n2. Configure webhook endpoint to your OpenClaw Gateway\n3. Skill processes incoming webhooks and updates memory files\n\nSee [references\u002Fwebhooks.md](references\u002Fwebhooks.md) for implementation details.\n\n---\n\n**Need help?** Check your Notion integration settings at https:\u002F\u002Fwww.notion.so\u002Fmy-integrations\n\n## Using in OpenClaw\n\n### Quick Setup\n\n```bash\n# 1. Install\ncd ~\u002F.agents\u002Fskills\u002Fnotion\nnpm install\n\n# 2. Configure token\necho \"NOTION_TOKEN=secret_xxxxxxxxxx\" >> ~\u002F.openclaw\u002F.env\n\n# 3. Test connection\nnode notion-cli.js test\n```\n\n### From OpenClaw Agent\n\n```typescript\n\u002F\u002F Query database\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database YOUR_DB_ID`\n});\n\n\u002F\u002F Add entry\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry YOUR_DB_ID \\\\\n    --title \"New Content Idea\" \\\\\n    --properties '{\"Status\":{\"select\":{\"name\":\"Idea\"}}}'`\n});\n\n\u002F\u002F Search\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"tree support\"`\n});\n```\n\n### Cron Job Usage\n\nUpdate your Research Topic Scout to push to Notion:\n\n```typescript\n\"message\": \"Research trends and add to Notion: \n  node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry DB_ID \n    --title '\u003Ctitle>' \n    --properties '{...,\\\"Platform\\\":{\\\"multi_select\\\":[{\\\"name\\\":\\\"X\\\"}]}}'\"\n```\n","# Notion Integration\n\nConnect your Notion workspace to OpenClaw for seamless knowledge management and project tracking.\n\n## When to Use This Skill\n\nUse Notion when the user wants to:\n- **Add items to a database** (backlog, todos, tracking)\n- **Create new pages** in a database or as children of existing pages  \n- **Query\u002Fsearch** their Notion workspace for information\n- **Update existing pages** (status, notes, properties)\n- **Read page content** or database entries\n\n## Setup\n\n### 1. Create Notion Integration\n1. Go to [notion.so\u002Fmy-integrations](https:\u002F\u002Fwww.notion.so\u002Fmy-integrations)\n2. Click **New integration**\n3. Name it (e.g., \"OpenClaw\")\n4. Select your workspace\n5. Copy the **Internal Integration Token** (starts with `secret_`)\n6. Save this token securely in OpenClaw config or environment: `NOTION_TOKEN=secret_...`\n\n### 2. Share Pages with Integration\n**Important:** Notion integrations have NO access by default. You must explicitly share:\n\n1. Go to any page or database in Notion\n2. Click **Share** → **Add connections**\n3. Select your \"OpenClaw\" integration\n4. The skill can now read\u002Fwrite to that specific page\u002Fdatabase\n\n### 3. Get Database\u002FPage IDs\n\n**From URL:**\n- Database: `https:\u002F\u002Fwww.notion.so\u002Fworkspace\u002FXXXXXXXX?v=...` → ID is `XXXXXXXX` (32 chars)\n- Page: `https:\u002F\u002Fwww.notion.so\u002Fworkspace\u002FXXXXXXXX` → ID is `XXXXXXXX`\n\n**Note:** Remove hyphens when using IDs. Use the 32-character string.\n\n## Core Operations\n\n### Query Database\n\nRetrieve entries from any database you've shared.\n\n```typescript\n\u002F\u002F Using the Notion skill via exec\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${databaseId}`\n});\n\n\u002F\u002F With filters (example: status = \"In Progress\")\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${databaseId} --filter '{\"property\":\"Status\",\"select\":{\"equals\":\"In Progress\"}}'`\n});\n```\n\n**Returns:** Array of pages with properties as configured in your database.\n\n### Add Database Entry\n\nCreate a new row in a database.\n\n```typescript\n\u002F\u002F Add entry with multiple properties\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${databaseId} \\\n    --title \"My New Content Idea\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Idea\" } },\n      \"Platform\": { \"multi_select\": [{ \"name\": \"X\u002FTwitter\" }] },\n      \"Tags\": { \"multi_select\": [{ \"name\": \"3D Printing\" }, { \"name\": \"AI\" }] },\n      \"Priority\": { \"select\": { \"name\": \"High\" } }\n    })}'`\n});\n```\n\n### Get Page Content\n\nRead the content of any page (including database entries).\n\n```typescript\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js get-page ${pageId}`\n});\n```\n\n**Returns:** Page title, properties, and block content (text, headings, lists, etc.).\n\n### Update Page\n\nModify properties or append content to an existing page.\n\n```typescript\n\u002F\u002F Update properties\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js update-page ${pageId} \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"In Progress\" } }\n    })}'`\n});\n\n\u002F\u002F Append content blocks\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js append-body ${pageId} \\\n    --text \"Research Notes\" --type h2`\n});\n```\n\n### Search Notion\n\nFind pages across your shared workspace.\n\n```typescript\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"content ideas\"`\n});\n```\n\n## Common Use Cases\n\n### Content Pipeline (Content Creator Workflow)\n\n**Database Structure:**\n- Title (title)\n- Status (select: Idea → Draft → Scheduled → Posted)\n- Platform (multi_select: X\u002FTwitter, YouTube, MakerWorld, Blog)\n- Publish Date (date)\n- Tags (multi_select)\n- Draft Content (rich_text)\n\n**OpenClaw Integration:**\n```typescript\n\u002F\u002F Research scout adds findings to Notion\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${contentDbId} \\\n    --title \"New 3D Print Technique\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Idea\" } },\n      \"Platform\": { \"multi_select\": [{ \"name\": \"YouTube\" }] },\n      \"Tags\": { \"multi_select\": [{ \"name\": \"3D Printing\" }] }\n    })}'`\n});\n\n\u002F\u002F Later: Update when drafting\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js update-page ${entryId} \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Draft\" } },\n      \"Draft Content\": { \"rich_text\": [{ \"text\": { \"content\": \"Draft text here...\" } }] }\n    })}'`\n});\n```\n\n### Project Management (Solo Entrepreneur)\n\n**Database Structure:**\n- Name (title)\n- Status (select: Not Started → In Progress → Blocked → Done)\n- Priority (select: Low → Medium → High → Critical)\n- Due Date (date)\n- Estimated Hours (number)\n- Actual Hours (number)\n- Links (url)\n- Notes (rich_text)\n\n**Weekly Review Integration:**\n```typescript\n\u002F\u002F Query all \"In Progress\" projects\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database ${projectsDbId} --filter '{\"property\":\"Status\",\"select\":{\"equals\":\"In Progress\"}}'`\n});\n```\n\n### Customer\u002FQuote CRM (3D Printing Business)\n\n**Database Structure:**\n- Customer Name (title)\n- Status (select: Lead → Quote Sent → Ordered → Printing → Shipped)\n- Email (email)\n- Quote Value (number)\n- Filament Type (select)\n- Due Date (date)\n- Shopify Order ID (rich_text)\n\n**Shopify Integration:**\n```typescript\n\u002F\u002F New order → create CRM entry\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry ${crmDbId} \\\n    --title \"${customerName}\" \\\n    --properties '${JSON.stringify({\n      \"Status\": { \"select\": { \"name\": \"Ordered\" } },\n      \"Email\": { \"email\": customerEmail },\n      \"Shopify Order ID\": { \"rich_text\": [{ \"text\": { \"content\": orderId } }] }\n    })}'`\n});\n```\n\n### Knowledge Base (Wiki Replacement for MEMORY.md)\n\n**Structure:** Hub page with nested pages:\n- ? Home (shared with integration)\n  - SOPs\n  - Troubleshooting\n  - Design Patterns\n  - Resource Links\n\n**Query for quick reference:**\n```typescript\n\u002F\u002F Search for \"stringing\" to find 3D print troubleshooting\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"stringing\"`\n});\n```\n\n## Property Types Reference\n\nWhen creating\u002Fupdating database entries, use these property value formats:\n\n```typescript\n\u002F\u002F Title (always required for new pages)\n{ \"title\": [{ \"text\": { \"content\": \"Page Title\" } }] }\n\n\u002F\u002F Select (single choice)\n{ \"select\": { \"name\": \"Option Name\" } }\n\n\u002F\u002F Multi-select (multiple choices)\n{ \"multi_select\": [{ \"name\": \"Tag 1\" }, { \"name\": \"Tag 2\" }] }\n\n\u002F\u002F Status (for new Status property type)\n{ \"status\": { \"name\": \"In progress\" } }\n\n\u002F\u002F Text \u002F Rich text\n{ \"rich_text\": [{ \"text\": { \"content\": \"Your text here\" } }] }\n\n\u002F\u002F Number\n{ \"number\": 42 }\n\n\u002F\u002F Date\n{ \"date\": { \"start\": \"2026-02-15\" } }\n{ \"date\": { \"start\": \"2026-02-15T10:00:00\", \"end\": \"2026-02-15T12:00:00\" } }\n\n\u002F\u002F Checkbox\n{ \"checkbox\": true }\n\n\u002F\u002F Email\n{ \"email\": \"user@example.com\" }\n\n\u002F\u002F URL\n{ \"url\": \"https:\u002F\u002Fexample.com\" }\n\n\u002F\u002F Phone\n{ \"phone_number\": \"+1-555-123-4567\" }\n\n\u002F\u002F Relation (link to another database entry)\n{ \"relation\": [{ \"id\": \"related-page-id-32chars\" }] }\n```\n\n## Security & Permissions\n\n**Critical Security Model:**\n- ✅ Integration ONLY sees pages you explicitly share\n- ✅ You control access per page\u002Fdatabase\n- ✅ Token stored securely in `~\u002F.openclaw\u002F.env` (never in code)\n- ❌ Never commit `NOTION_TOKEN` to git\n- ❌ Integration cannot access private teamspaces or other users' private pages\n\n**Best Practices:**\n1. Use a dedicated integration (don't reuse personal integrations)\n2. Share minimum necessary pages (granular > broad)\n3. Rotate token if compromised via Notion integration settings\n4. Review shared connections periodically\n\n## Environment Setup\n\nAdd to `~\u002F.openclaw\u002F.env`:\n```bash\nNOTION_TOKEN=secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n```\n\nOr set per-command:\n```bash\nNOTION_TOKEN=secret_xxx node notion-cli.js ...\n```\n\n## Error Handling\n\nCommon errors and fixes:\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| \"API token is invalid\" | Wrong token or integration deleted | Check token at notion.so\u002Fmy-integrations |\n| \"object_not_found\" | Page not shared with integration | Share page: Share → Add connections |\n| \"validation_error\" | Property format incorrect | Check property type in database |\n| \"rate_limited\" | Too many requests | Add delay between requests |\n\n## Quick Install (One Command)\n\n```bash\ncd ~\u002F.agents\u002Fskills\u002Fnotion\n.\u002Finstall.sh\n```\n\n**Manual install (if above fails):**\n```bash\ncd ~\u002F.agents\u002Fskills\u002Fnotion\nnpm install\n```\n\nThat's it! No build step required for the standalone version.\n\n## Quick Test\n\n```bash\n# After setting NOTION_TOKEN in ~\u002F.openclaw\u002F.env\nnode notion-cli.js test\n```\n\n## Smart ID Resolution\n\nReference entries by **Notion auto-ID** (e.g., `#3`) or **direct UUID**.\n\n### By Notion ID (Recommended for Manual Use)\n\nUse the number you see in your database's ID column:\n\n```bash\n# Get entry #3\nnode notion-cli.js get-page '#3' DATABASE_ID\n\n# Add content to entry #3\nnode notion-cli.js append-body '#3' --database DATABASE_ID \\\n  --text \"Research notes\" --type h2\n\n# Add bullet to entry #3\nnode notion-cli.js append-body '#3' --database DATABASE_ID \\\n  --text \"Key finding\" --type bullet\n```\n\n### By Direct UUID (For Automation)\n\n```bash\n# Using full UUID from Notion URL\nnode notion-cli.js get-page 2fb3e4ac...\nnode notion-cli.js append-body 2fb3e4ac... \\\n  --text \"Content\" --type paragraph\n```\n\n**Auto-detection:** Starts with `#` = Notion ID lookup. 32-char hex = Direct UUID.\n\n**Pro Tip:** Add an `ID` property (type: unique ID) to auto-number entries as #1, #2, #3...\n\n## Page Body Editing\n\nAdd rich content to page bodies, not just properties.\n\n### Append Content Blocks\n\n```bash\n# Add heading\nnode notion-cli.js append-body PAGE_ID --text \"Research Summary\" --type h2\n\n# Add paragraph (default)\nnode notion-cli.js append-body PAGE_ID --text \"Detailed findings go here...\"\n\n# Add bullet list item\nnode notion-cli.js append-body PAGE_ID --text \"First key finding\" --type bullet\n\n# Add numbered list item\nnode notion-cli.js append-body PAGE_ID --text \"Step one description\" --type numbered\n\n# Add TODO checkbox\nnode notion-cli.js append-body PAGE_ID --text \"Create video script\" --type todo\n\n# Add quote\nnode notion-cli.js append-body PAGE_ID --text \"Important quote from source\" --type quote\n\n# Add code block\nnode notion-cli.js append-body PAGE_ID --text \"const result = optimizeSupports();\" --type code --lang javascript\n```\n\n### Supported Block Types\n\n| Type | Description | Example Use |\n|------|-------------|-------------|\n| `paragraph` | Regular text (default) | Descriptions, explanations |\n| `h1`, `h2`, `h3` | Headings | Section organization |\n| `bullet` | Bulleted list | Key findings, features |\n| `numbered` | Numbered list | Step-by-step instructions |\n| `todo` | Checkbox item | Action items, tasks |\n| `quote` | Blockquote | Source citations |\n| `code` | Code block | Snippets, commands |\n| `divider` | Horizontal line | Section separation |\n\n### Get Page with Body Content\n\n```bash\n# Get full page including formatted body\nnode notion-cli.js get-page PAGE_ID\n```\n\nReturns:\n- Page properties\n- Formatted body blocks (type + content preview)\n- Block count\n\n### Advanced: Raw JSON Blocks\n\nFor complex layouts, use raw Notion block JSON:\n\n```bash\nnode notion-cli.js append-body PAGE_ID --blocks '[\n  {\"object\":\"block\",\"type\":\"heading_2\",\"heading_2\":{\"rich_text\":[{\"text\":{\"content\":\"Research Notes\"}}]}},\n  {\"object\":\"block\",\"type\":\"bulleted_list_item\",\"bulleted_list_item\":{\"rich_text\":[{\"text\":{\"content\":\"Finding 1\"}}]}},\n  {\"object\":\"block\",\"type\":\"code\",\"code\":{\"rich_text\":[{\"text\":{\"content\":\"console.log(1)\"}}],\"language\":\"javascript\"}}\n]'\n```\n\n## Advanced: Webhook Sync\n\nFor bidirectional sync (Notion changes → OpenClaw):\n\n1. Set up Notion webhook integration (requires Notion partner account)\n2. Configure webhook endpoint to your OpenClaw Gateway\n3. Skill processes incoming webhooks and updates memory files\n\nSee [references\u002Fwebhooks.md](references\u002Fwebhooks.md) for implementation details.\n\n---\n\n**Need help?** Check your Notion integration settings at https:\u002F\u002Fwww.notion.so\u002Fmy-integrations\n\n## Using in OpenClaw\n\n### Quick Setup\n\n```bash\n# 1. Install\ncd ~\u002F.agents\u002Fskills\u002Fnotion\nnpm install\n\n# 2. Configure token\necho \"NOTION_TOKEN=secret_xxxxxxxxxx\" >> ~\u002F.openclaw\u002F.env\n\n# 3. Test connection\nnode notion-cli.js test\n```\n\n### From OpenClaw Agent\n\n```typescript\n\u002F\u002F Query database\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js query-database YOUR_DB_ID`\n});\n\n\u002F\u002F Add entry\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry YOUR_DB_ID \\\\\n    --title \"New Content Idea\" \\\\\n    --properties '{\"Status\":{\"select\":{\"name\":\"Idea\"}}}'`\n});\n\n\u002F\u002F Search\nawait exec({\n  command: `node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js search \"tree support\"`\n});\n```\n\n### Cron Job Usage\n\nUpdate your Research Topic Scout to push to Notion:\n\n```typescript\n\"message\": \"Research trends and add to Notion: \n  node ~\u002F.agents\u002Fskills\u002Fnotion\u002Fnotion-cli.js add-entry DB_ID \n    --title '\u003Ctitle>' \n    --properties '{...,\\\"Platform\\\":{\\\"multi_select\\\":[{\\\"name\\\":\\\"X\\\"}]}}'\"\n```\n",{"name":5,"version":50,"description":7},"0.1.0","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fmoikapy\u002Fopenclaw-notion-skill",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add kbarbel640-del\u002Fskills --skill notion",{"tool":64,"command":65},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill notion",{"tool":67,"command":68},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill notion","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002FSKILL.md",true,[72,78,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"_meta.json","REFERENCE","参考文档",289,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002F_meta.json",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"install.sh","SCRIPT","脚本",788,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Finstall.sh",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"notion-cli.js",17894,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fnotion-cli.js",{"path":89,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":90,"sourceHtmlUrl":91},"package.json",795,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fpackage.json",{"path":93,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":94,"sourceHtmlUrl":95},"README.md",9864,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002FREADME.md",{"path":97,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":98,"sourceHtmlUrl":99},"setup-wizard.sh",8097,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fsetup-wizard.sh",{"path":101,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":102,"sourceHtmlUrl":103},"skill.json",709,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fskill.json",{"path":105,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":106,"sourceHtmlUrl":107},"src\u002Fcli.ts",6680,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fsrc\u002Fcli.ts",{"path":109,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":110,"sourceHtmlUrl":111},"src\u002Findex.ts",2086,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Fsrc\u002Findex.ts",{"path":113,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":114,"sourceHtmlUrl":115},"SUPPORT.md",1666,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002FSUPPORT.md",{"path":117,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":118,"sourceHtmlUrl":119},"templates\u002Fcontent-pipeline.json",2652,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fcontent-pipeline.json",{"path":121,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":122,"sourceHtmlUrl":123},"templates\u002Fcrm-3d-printing.json",3996,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fcrm-3d-printing.json",{"path":125,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":126,"sourceHtmlUrl":127},"templates\u002Fexamples\u002Fcontent-scout-example.js",2246,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fexamples\u002Fcontent-scout-example.js",{"path":129,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":130,"sourceHtmlUrl":131},"templates\u002Fexamples\u002FREADME.md",1197,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fexamples\u002FREADME.md",{"path":133,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":134,"sourceHtmlUrl":135},"templates\u002Fknowledge-base.json",2623,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fknowledge-base.json",{"path":137,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":138,"sourceHtmlUrl":139},"templates\u002Fproject-tracker.json",2949,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002Fproject-tracker.json",{"path":141,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":142,"sourceHtmlUrl":143},"templates\u002FREADME.md",6995,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftemplates\u002FREADME.md",{"path":145,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":146,"sourceHtmlUrl":147},"tsconfig.json",642,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fmoikapy\u002Fopenclaw-notion-skill\u002Ftsconfig.json",[149,179,203,223,229,249],{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":160,"publishedAt":45},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[155],{"categoryNo":156,"categoryName":157,"taxonomyType":158,"taxonomyTypeDesc":159},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[161,162,163,28,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],"crowd prompting","prompting","api","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":45},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[185],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[187,163,188,189,190,191,43,192,193,194,195,196,197,198,199,200,201,167,202],"dilemm ai","arena","analyze","browser","openclaw agent","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":212,"publishedAt":45},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[209],{"categoryNo":210,"categoryName":211,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[213,214,215,216,217,218,219,28,220,200,202,37,163,221,222],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","http","via",{"skillNo":224,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":228,"publishedAt":45},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[227],{"categoryNo":210,"categoryName":211,"taxonomyType":20,"taxonomyTypeDesc":21},[216,215,214,213,222,218,219,28,217,200,202,220,37,163,221],{"skillNo":230,"name":231,"nameZh":6,"description":232,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":233,"categories":234,"keywords":235,"publishedAt":45},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[236,237,238,239,240,241,242,243,244,245,246,247,248],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":250,"name":251,"nameZh":6,"description":252,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":253,"categories":254,"keywords":259,"publishedAt":45},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[255,256],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":257,"categoryName":258,"taxonomyType":158,"taxonomyTypeDesc":159},"01JBSEEDCAT000000000000037","律师与法务",[260,261,262,263,28,32,264,51,265,37,266,267,268,269,270,176,271,272,273],"agent constitution","constitution","contracts","tree","base","log","check","Rules","projects","compliance","actions","state","governance","github"]