[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DTPJZM8PPD6QXB2XW684QY":3,"skill-same:01M6DTPJZM8PPD6QXB2XW684QY":57},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":42,"install":43,"resources":56},"01M6DTPJZM8PPD6QXB2XW684QY","detect-cross-entry-duplicate-code",null,"检测本项目 Renderer 层'同功能不同入口'的语义重复代码（jscpd token 比对覆盖不到的）。当用户说'有没有重复代码'、'同功能多入口'、'扫一下重复'、'这个功能是不是在别处也写了一遍'时使用。典型信号：同一组 ipcBridge 调用 + 同一组领域 utils + 相同 UI 结构出现在不同文件。","sudoprivacy\u002Fsudowork","sudoprivacy","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F115790070?v=4","01M6DTPA1KMM1JSSJBNE9FGG5Q","01M6DTPA5PQ2F3S9CVXH1TQ4RT",10,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002F.pi\u002Fskills\u002Fdetect-cross-entry-duplicate-code\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28],"code","duplicate","detect cross entry duplicate code","detect","entry","ui","token","文件","utils","renderer","jscpd","2026-11-10 10:12:30",false,"---\nname: filling-knowledge-properties\ndescription: Use when asked to fill in the Notion \"Knowledge(s)\" database. 「Knowledge(s) データベースを埋めて」\n---\n\n# Knowledge(s) の大ジャンル・中ジャンル・Description を埋める\n\nNotion AI の自動入力 (AI プロパティ) の代わり。Knowledge(s) の各ページを読み、空になっている3つのプロパティだけを埋める。\n\n## 対象\n\n- データソース `collection:\u002F\u002Febb90a48-79c1-43bf-903c-5c1c192051ab` (Knowledge(s))\n- ページの URL を渡されたときは、そのページだけを対象にする\n- 渡されないときは、大ジャンル、中ジャンル、Description のどれかが空の行すべてを対象にする\n- 値が入っているプロパティは上書きしない。空のプロパティだけを埋める\n\n## 手順\n\n1. Notion MCP の fetch でデータソースを読み、大ジャンルと中ジャンルの選択肢を取る。選択肢はこのスキルに書かず、毎回 DB から読む\n2. 対象の行を集める。URL を渡されていなければ、query-data-sources で3つのうちどれかが空の行を引く\n3. 各ページを fetch し、タイトル、URL プロパティ、本文を読む\n4. 下の規則で値を決める\n5. update-page でプロパティを書き込む。大ジャンルと中ジャンルは複数選択なので、選択肢名の JSON 配列 (例 `[\"テクノロジー\", \"学習・キャリア\"]`) で渡す\n6. 最後に、ページごとの書き込んだ値の一覧を返す。判断できずに空のまま残したページは、理由を添えて別に挙げる\n\n## 値の規則\n\n### 大ジャンル\n\n- 選択肢から、ページの内容に合うものを1つか2つ選ぶ。3つ以上は付けない\n- 選択肢にない値は作らない\n\n### 中ジャンル\n\n- 選択肢から、ページの内容に合うものをすべて選ぶ\n- 選択肢にない値は作らない\n\n### Description\n\n読み返したときに本文を開かずに要点が分かる TL;DR として、日本語で書く。\n\n- `- ` で始まる箇条書きを3〜5行にする。1行は1文で、句点を付けない\n- 1行目は何の記事、投稿、資料かと、いつ、誰が、何をしたかを書く。「〜の記事で」「Xユーザーが」のように、文書そのものや出典に触れてよい\n- 2行目以降は、具体的な事実 (数値、日付、固有名詞、手順、条件) を1つずつ書く。抽象的な言い換えより、本文にある具体を優先する\n- 最後の行は、今後の見通しや、この情報をどう使えるかを書いてよい。本文に根拠がなければ書かない\n- 本文にない情報を足さない\n\n構成の手本 (Knowledge(s) の既存ページから)。\n\n```\n- Infracost は Terraform コードの変更に伴うクラウドコスト増減を事前に算出できるツールである\n- プルリクエストに月額コスト変動とガバナンスチェックの結果を自動コメントで提示する\n- コスト変化は infracost コマンドでローカルまたは CI 上で計算できる\n- コメントは増減額と合否情報を含み、レビュー時の意思決定を支援する\n- 2026年8月30日に公開され、GitHub リポジトリでソースが管理されている\n```\n\n### 内容が足りないとき\n\n- 本文が空、またはタイトルと URL だけで内容を判断できないときは、大ジャンルと中ジャンルを空のまま残す\n- 本文が完全に空のときは、Description に「内容なし」と書く\n\n## 注意\n\n- Notion への書き込みはプロパティの更新だけにする。本文やタイトルは変更しない\n- 件数が多いときは10件ずつ処理し、区切りごとに進み具合を出力する\n","# Knowledge(s) の大ジャンル・中ジャンル・Description を埋める\n\nNotion AI の自動入力 (AI プロパティ) の代わり。Knowledge(s) の各ページを読み、空になっている3つのプロパティだけを埋める。\n\n## 対象\n\n- データソース `collection:\u002F\u002Febb90a48-79c1-43bf-903c-5c1c192051ab` (Knowledge(s))\n- ページの URL を渡されたときは、そのページだけを対象にする\n- 渡されないときは、大ジャンル、中ジャンル、Description のどれかが空の行すべてを対象にする\n- 値が入っているプロパティは上書きしない。空のプロパティだけを埋める\n\n## 手順\n\n1. Notion MCP の fetch でデータソースを読み、大ジャンルと中ジャンルの選択肢を取る。選択肢はこのスキルに書かず、毎回 DB から読む\n2. 対象の行を集める。URL を渡されていなければ、query-data-sources で3つのうちどれかが空の行を引く\n3. 各ページを fetch し、タイトル、URL プロパティ、本文を読む\n4. 下の規則で値を決める\n5. update-page でプロパティを書き込む。大ジャンルと中ジャンルは複数選択なので、選択肢名の JSON 配列 (例 `[\"テクノロジー\", \"学習・キャリア\"]`) で渡す\n6. 最後に、ページごとの書き込んだ値の一覧を返す。判断できずに空のまま残したページは、理由を添えて別に挙げる\n\n## 値の規則\n\n### 大ジャンル\n\n- 選択肢から、ページの内容に合うものを1つか2つ選ぶ。3つ以上は付けない\n- 選択肢にない値は作らない\n\n### 中ジャンル\n\n- 選択肢から、ページの内容に合うものをすべて選ぶ\n- 選択肢にない値は作らない\n\n### Description\n\n読み返したときに本文を開かずに要点が分かる TL;DR として、日本語で書く。\n\n- `- ` で始まる箇条書きを3〜5行にする。1行は1文で、句点を付けない\n- 1行目は何の記事、投稿、資料かと、いつ、誰が、何をしたかを書く。「〜の記事で」「Xユーザーが」のように、文書そのものや出典に触れてよい\n- 2行目以降は、具体的な事実 (数値、日付、固有名詞、手順、条件) を1つずつ書く。抽象的な言い換えより、本文にある具体を優先する\n- 最後の行は、今後の見通しや、この情報をどう使えるかを書いてよい。本文に根拠がなければ書かない\n- 本文にない情報を足さない\n\n構成の手本 (Knowledge(s) の既存ページから)。\n\n```\n- Infracost は Terraform コードの変更に伴うクラウドコスト増減を事前に算出できるツールである\n- プルリクエストに月額コスト変動とガバナンスチェックの結果を自動コメントで提示する\n- コスト変化は infracost コマンドでローカルまたは CI 上で計算できる\n- コメントは増減額と合否情報を含み、レビュー時の意思決定を支援する\n- 2026年8月30日に公開され、GitHub リポジトリでソースが管理されている\n```\n\n### 内容が足りないとき\n\n- 本文が空、またはタイトルと URL だけで内容を判断できないときは、大ジャンルと中ジャンルを空のまま残す\n- 本文が完全に空のときは、Description に「内容なし」と書く\n\n## 注意\n\n- Notion への書き込みはプロパティの更新だけにする。本文やタイトルは変更しない\n- 件数が多いときは10件ずつ処理し、区切りごとに進み具合を出力する\n",{"name":34,"description":35},"filling-knowledge-properties","Use when asked to fill in the Notion \"Knowledge(s)\" database. 「Knowledge(s) データベースを埋めて」","main","4b9db8cef5f46cd207d69aa1591c77afde0f0c60",".pi\u002Fskills\u002Fdetect-cross-entry-duplicate-code",2,"https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork","https:\u002F\u002Fgithub.com\u002Fsudoprivacy","2026-11-11 10:56:31",{"source":8,"skillName":34,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add sudoprivacy\u002Fsudowork --skill filling-knowledge-properties",{"tool":49,"command":50},"bunx","bunx skills add sudoprivacy\u002Fsudowork --skill filling-knowledge-properties",{"tool":52,"command":53},"pnpm","pnpm dlx skills add sudoprivacy\u002Fsudowork --skill filling-knowledge-properties","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002F.pi\u002Fskills\u002Fdetect-cross-entry-duplicate-code\u002FSKILL.md",true,[],[58,80,123,150,176,204],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":62,"sourceHtmlUrl":63,"categories":64,"keywords":73,"publishedAt":29},"01M6DTQM16M8ZCQSVW6GYYB9GM","skill-creator","创建或更新 Sudowork 自定义技能，同时保留核心 skill creation \u002F skill-design 最佳实践。用于用户要求创建新技能、优化已有技能、打包导入 Sudowork，或让技能展示在我的技能自定义技能中。","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fskill-creator\u002FSKILL.md",[65,70],{"categoryNo":66,"categoryName":67,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":71,"categoryName":72,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000023","Skill与智能体开发",[74,75,76,77,78,79],"skill creator","creator","design","creation","skill-design","skill creation",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":84,"licenseFileUrl":85,"sourceHtmlUrl":86,"categories":87,"keywords":97,"publishedAt":29},"01M6DTQEH8DMDYG9ET2PSB381S","shareone","Host HTML\u002FMarkdown pages and share PDF, Word, or PowerPoint docs as ShareOne short links. Use when publishing pages\u002Fdocs, adding passwords\u002Fwatermarks, comments, downloads, or updates.","MIT","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fshareone\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fshareone\u002FSKILL.md",[88,91,94],{"categoryNo":89,"categoryName":90,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":92,"categoryName":93,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":95,"categoryName":96,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000009","前端开发",[82,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122],"PDF","pptx","docs","powerpoint","share","downloads","publish","sharing","markdown","Word","short","use","html","publishing","hosting","upload","pages","as","host","with","comments","links","passwords","updates","when",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":132,"publishedAt":29},"01M6DTQB7MRE9C1ETCRF8KCMY4","image-generation","Generate new images or edit existing images using AI. Use this skill when the user wants to create, generate, draw, design, or produce an image from a text description, OR when they want to modify, edit, alter, or transform an existing image (e.g. 'generate a picture of...', 'create an image', 'draw me a...', 'edit this image', 'change the background', 'modify the above picture', '生成图片', '画一张', '修改图片', '编辑上面的图').","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fimage-generation\u002FSKILL.md",[129],{"categoryNo":130,"categoryName":131,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000016","图像与多媒体",[133,134,135,76,136,137,138,139,140,141,142,143,109,144,145,146,147,148,122,149],"image","Image Generation","generation","change","create","generate","produce","生成","text","edit","user","images","draw","me","transform","Existing","new",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":29},"01M6DTQ7Y4CZRXENW8272CNFGD","image-analysis","Analyze, describe, or answer questions about image content using vision AI. Use this skill when the user asks anything about an image — what it shows, what's in it, reading text\u002Fdiagrams, identifying objects, or any question referencing a previous image (e.g. 'what is in this image', 'read the text in this screenshot', 'explain this diagram', 'tell me about the image above', '识别图片', '分析图片内容').","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fimage-analysis\u002FSKILL.md",[156],{"categoryNo":130,"categoryName":131,"taxonomyType":68,"taxonomyTypeDesc":69},[133,158,159,160,161,162,163,141,164,165,166,143,109,167,168,169,170,146,171,172,173,174,175,122],"analysis","image analysis","diagram","screenshot","content","analyze","explain","question","read","vision","diagrams","vision ai","objects","about","questions","reading","answer","describe",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":29},"01M6DTQ4MFX1843KSW940WHB3R","auto-login","Log in to a website automatically using credentials saved in the local key store. Use when the user wants unattended\u002Frepeat login to a site (no re-scanning QR, no re-typing passwords), e.g. '帮我自动登录这个网站', 'set up auto-login for X', '记住这个网站的登录'. The plaintext password is NEVER seen by you — the user fills it in 秘钥管理 and sudowork fills the form itself.","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002Fauto-login\u002FSKILL.md",[],[183,184,185,186,187,188,189,190,143,109,191,192,193,194,195,196,197,198,199,200,120,201,202,203,122],"auto","auto login","login","website","SET","credentials","password","site","never","scanning","up","log","local","form","typing","you","re","qr","saved","for","log in",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":211,"publishedAt":29},"01M6DTQ1TAD7RHXQ65RRKW468N","video-subtitles","Generate timed subtitles from video or audio, translate their text, and burn subtitles into a new video. Use for captions, SRT, video subtitles, or adding translated subtitles in Sudowork desktop or WebUI cloud conversations.","https:\u002F\u002Fgithub.com\u002Fsudoprivacy\u002Fsudowork\u002Fblob\u002Fdev\u002Fapps\u002Fdesktop\u002Fskills\u002F_builtin\u002Fvideo-subtitles\u002FSKILL.md",[210],{"categoryNo":130,"categoryName":131,"taxonomyType":68,"taxonomyTypeDesc":69},[212,213,214,215,138,216,217,218,219,141,109,220,221,222,223,202,149],"subtitles","Video","video subtitles","translate","desktop","cloud","Audio","Captions","webui","burn","conversations","srt"]