[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FVD2H3Y77TBYP3W0THVE2V":3,"skill-same:01M6FVD2H3Y77TBYP3W0THVE2V":75},{"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":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":48,"install":49,"resources":62},"01M6FVD2H3Y77TBYP3W0THVE2V","project-tree",null,"Generate a visual directory tree of the ~\u002Fprojects folder and update MEMORY.md with the result. Use when the user wants to view, update, or generate a project tree structure, or when they mention \"project tree\", \"tree view\", \"folder structure\", or \"show me my projects\".","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\u002Flachlanglasgow\u002Fproject-tree\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"project tree","project","folder structure","folder","with","visual","update memory","structure","me","show","directory","use","user","view","projects","show me","update","generate","memory","2026-11-10 10:12:30",false,"---\nname: project-tree\ndescription: Generate a visual directory tree of the ~\u002Fprojects folder and update MEMORY.md with the result. Use when the user wants to view, update, or generate a project tree structure, or when they mention \"project tree\", \"tree view\", \"folder structure\", or \"show me my projects\".\n---\n\n# Project Tree\n\n## Overview\n\nGenerate a visual tree structure of the ~\u002Fprojects directory and automatically update MEMORY.md with the current project organization. The tree shows folders and .md files only, with smart grouping for consecutive numbered items.\n\n## Usage\n\nRun the tree generation script:\n\n```bash\nnode ~\u002Fclawd\u002Fskills\u002Fproject-tree\u002Fscripts\u002Fproject-tree.js\n```\n\nOr use the convenience wrapper:\n\n```bash\n~\u002Fclawd\u002Fscripts\u002Fupdate-tree\n```\n\n## Features\n\n- **Folder-only + .md files**: Only displays directories and markdown files, hiding code files and dependencies\n- **Smart grouping**: Detects consecutive numbered sequences (e.g., `script1-video`, `script2-video`...) and collapses them into `script[1-28]-video\u002F (28 items)`\n- **Auto-updates MEMORY.md**: The tree is automatically inserted into the PROJECT_TREE section of MEMORY.md\n- **Configurable depth**: Default is 3 levels deep (adjustable in script)\n\n## Configuration\n\nEdit these values in `scripts\u002Fproject-tree.js`:\n\n- `MAX_DEPTH`: Number of directory levels to display (default: 3)\n- `EXCLUDE_DIRS`: Directories to skip (node_modules, .git, etc.)\n- `ROOT_DIR`: Base directory to scan (default: ~\u002Fprojects)\n\n## Automation (Hook)\n\nYou can automate project tree updates to run on every session `\u002Freset`.\n\n### 1. Enable Internal Hooks\n\nAdd to your `clawdbot.json`:\n\n```json\n{\n  \"hooks\": {\n    \"internal\": {\n      \"enabled\": true\n    }\n  }\n}\n```\n\n### 2. Create the Hook\n\nCreate `~\u002F.clawdbot\u002Fhooks\u002Freset-project-tree\u002FHOOK.md`:\n\n```markdown\n---\nname: reset-project-tree\ndescription: \"Generate project tree on session reset\"\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"events\":[\"command:reset\"],\"requires\":{\"bins\":[\"node\"]}}}\n---\n\nGenerates project tree when \u002Freset is issued.\n```\n\nCreate `~\u002F.clawdbot\u002Fhooks\u002Freset-project-tree\u002Fhandler.ts`:\n\n```typescript\nimport { execSync } from 'child_process';\nimport type { HookHandler } from '..\u002F..\u002F..\u002Fsrc\u002Fhooks\u002Fhooks.js';\n\nconst handler: HookHandler = async (event) => {\n  if (event.type !== 'command' || event.action !== 'reset') return;\n\n  try {\n    const scriptPath = `${event.context.workspaceDir}\u002Fskills\u002Fproject-tree\u002Fscripts\u002Fproject-tree.js`;\n    execSync(`node ${scriptPath}`, { cwd: event.context.workspaceDir, stdio: 'pipe' });\n    console.log('[reset-project-tree] Updated');\n  } catch (err) {\n    console.error('[reset-project-tree] Failed:', err instanceof Error ? err.message : String(err));\n  }\n};\n\nexport default handler;\n```\n\n### 3. Enable and Restart\n\n```bash\nclawdbot hooks enable reset-project-tree\nclawdbot gateway restart\n```\n\n## Resources\n\n### scripts\u002F\n\n- `project-tree.js` - Main tree generation script with smart grouping logic\n","# Project Tree\n\n## Overview\n\nGenerate a visual tree structure of the ~\u002Fprojects directory and automatically update MEMORY.md with the current project organization. The tree shows folders and .md files only, with smart grouping for consecutive numbered items.\n\n## Usage\n\nRun the tree generation script:\n\n```bash\nnode ~\u002Fclawd\u002Fskills\u002Fproject-tree\u002Fscripts\u002Fproject-tree.js\n```\n\nOr use the convenience wrapper:\n\n```bash\n~\u002Fclawd\u002Fscripts\u002Fupdate-tree\n```\n\n## Features\n\n- **Folder-only + .md files**: Only displays directories and markdown files, hiding code files and dependencies\n- **Smart grouping**: Detects consecutive numbered sequences (e.g., `script1-video`, `script2-video`...) and collapses them into `script[1-28]-video\u002F (28 items)`\n- **Auto-updates MEMORY.md**: The tree is automatically inserted into the PROJECT_TREE section of MEMORY.md\n- **Configurable depth**: Default is 3 levels deep (adjustable in script)\n\n## Configuration\n\nEdit these values in `scripts\u002Fproject-tree.js`:\n\n- `MAX_DEPTH`: Number of directory levels to display (default: 3)\n- `EXCLUDE_DIRS`: Directories to skip (node_modules, .git, etc.)\n- `ROOT_DIR`: Base directory to scan (default: ~\u002Fprojects)\n\n## Automation (Hook)\n\nYou can automate project tree updates to run on every session `\u002Freset`.\n\n### 1. Enable Internal Hooks\n\nAdd to your `clawdbot.json`:\n\n```json\n{\n  \"hooks\": {\n    \"internal\": {\n      \"enabled\": true\n    }\n  }\n}\n```\n\n### 2. Create the Hook\n\nCreate `~\u002F.clawdbot\u002Fhooks\u002Freset-project-tree\u002FHOOK.md`:\n\n```markdown\n---\nname: reset-project-tree\ndescription: \"Generate project tree on session reset\"\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"events\":[\"command:reset\"],\"requires\":{\"bins\":[\"node\"]}}}\n---\n\nGenerates project tree when \u002Freset is issued.\n```\n\nCreate `~\u002F.clawdbot\u002Fhooks\u002Freset-project-tree\u002Fhandler.ts`:\n\n```typescript\nimport { execSync } from 'child_process';\nimport type { HookHandler } from '..\u002F..\u002F..\u002Fsrc\u002Fhooks\u002Fhooks.js';\n\nconst handler: HookHandler = async (event) => {\n  if (event.type !== 'command' || event.action !== 'reset') return;\n\n  try {\n    const scriptPath = `${event.context.workspaceDir}\u002Fskills\u002Fproject-tree\u002Fscripts\u002Fproject-tree.js`;\n    execSync(`node ${scriptPath}`, { cwd: event.context.workspaceDir, stdio: 'pipe' });\n    console.log('[reset-project-tree] Updated');\n  } catch (err) {\n    console.error('[reset-project-tree] Failed:', err instanceof Error ? err.message : String(err));\n  }\n};\n\nexport default handler;\n```\n\n### 3. Enable and Restart\n\n```bash\nclawdbot hooks enable reset-project-tree\nclawdbot gateway restart\n```\n\n## Resources\n\n### scripts\u002F\n\n- `project-tree.js` - Main tree generation script with smart grouping logic\n",{"name":5,"description":7},"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Flachlanglasgow\u002Fproject-tree",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":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add kbarbel640-del\u002Fskills --skill project-tree",{"tool":55,"command":56},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill project-tree",{"tool":58,"command":59},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill project-tree","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Flachlanglasgow\u002Fproject-tree\u002FSKILL.md",true,[63,69],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"_meta.json","REFERENCE","参考文档",462,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Flachlanglasgow\u002Fproject-tree\u002F_meta.json",{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"scripts\u002Fproject-tree.js","SCRIPT","脚本",5982,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Flachlanglasgow\u002Fproject-tree\u002Fscripts\u002Fproject-tree.js",[76,106,134,155,161,181],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":87,"publishedAt":37},"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",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[88,89,90,22,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105],"crowd prompting","prompting","api","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":37},"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",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[118,90,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,94,29],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":37},"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",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000021","资料检索与研究",[144,145,146,147,148,149,150,22,151,132,29,152,90,153,154],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":156,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":37},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[159],{"categoryNo":141,"categoryName":142,"taxonomyType":115,"taxonomyTypeDesc":116},[147,146,145,144,154,149,150,22,148,132,29,151,152,90,153],{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":37},"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",[],[168,169,170,171,172,173,174,175,176,177,178,179,180],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":191,"publishedAt":37},"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",[187,188],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},{"categoryNo":189,"categoryName":190,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000037","律师与法务",[192,193,194,195,22,196,197,42,198,152,199,200,32,201,202,103,203,204,205],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","compliance","actions","state","governance","github"]