[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71Q12F35DHVT31A2C85G99N":3,"skill-same:01M71Q12F35DHVT31A2C85G99N":73},{"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":53,"commitSha":54,"skillDirectory":55,"forksCount":13,"repositoryHtmlUrl":56,"repositoryHomepageUrl":6,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M71Q12F35DHVT31A2C85G99N","blogwatcher",null,"Monitor blogs and RSS\u002FAtom feeds for updates using the blogwatcher-cli tool. Add blogs, scan for new articles, track read status, and filter by category.","gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","gjbvsjjvgm-sketch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278511911?v=4","01M71F3JXKZQ70H2KCHHTXKZDA","01M71PENEVFN19DBZFNHJPCHQ7",0,"MIT","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes_sovereign_data\u002Fskills\u002Fresearch\u002Fblogwatcher\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"monitoring","rss","https","read","fork","github","cli","atom","track","filter","updates","new","Blogs","monitor","Feed-Reader","tool","scan","for","feeds","2026-11-10 13:02:02",false,"---\nname: blogwatcher\ndescription: Monitor blogs and RSS\u002FAtom feeds for updates using the blogwatcher-cli tool. Add blogs, scan for new articles, track read status, and filter by category.\nversion: 2.0.0\nauthor: JulienTant (fork of Hyaxia\u002Fblogwatcher)\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [RSS, Blogs, Feed-Reader, Monitoring]\n    homepage: https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\nprerequisites:\n  commands: [blogwatcher-cli]\n---\n\n# Blogwatcher\n\nTrack blog and RSS\u002FAtom feed updates with the `blogwatcher-cli` tool. Supports automatic feed discovery, HTML scraping fallback, OPML import, and read\u002Funread article management.\n\n## Installation\n\nPick one method:\n\n- **Go:** `go install github.com\u002FJulienTant\u002Fblogwatcher-cli\u002Fcmd\u002Fblogwatcher-cli@latest`\n- **Docker:** `docker run --rm -v blogwatcher-cli:\u002Fdata ghcr.io\u002Fjulientant\u002Fblogwatcher-cli`\n- **Binary (Linux amd64):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_linux_amd64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (Linux arm64):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_linux_arm64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (macOS Apple Silicon):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_darwin_arm64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (macOS Intel):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_darwin_amd64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n\nAll releases: https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\n\n### Docker with persistent storage\n\nBy default the database lives at `~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db`. In Docker this is lost on container restart. Use `BLOGWATCHER_DB` or a volume mount to persist it:\n\n```bash\n# Named volume (simplest)\ndocker run --rm -v blogwatcher-cli:\u002Fdata -e BLOGWATCHER_DB=\u002Fdata\u002Fblogwatcher-cli.db ghcr.io\u002Fjulientant\u002Fblogwatcher-cli scan\n\n# Host bind mount\ndocker run --rm -v \u002Fpath\u002Fon\u002Fhost:\u002Fdata -e BLOGWATCHER_DB=\u002Fdata\u002Fblogwatcher-cli.db ghcr.io\u002Fjulientant\u002Fblogwatcher-cli scan\n```\n\n### Migrating from the original blogwatcher\n\nIf upgrading from `Hyaxia\u002Fblogwatcher`, move your database:\n\n```bash\nmv ~\u002F.blogwatcher\u002Fblogwatcher.db ~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db\n```\n\nThe binary name changed from `blogwatcher` to `blogwatcher-cli`.\n\n## Common Commands\n\n### Managing blogs\n\n- Add a blog: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com`\n- Add with explicit feed: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com --feed-url https:\u002F\u002Fexample.com\u002Ffeed.xml`\n- Add with HTML scraping: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com --scrape-selector \"article h2 a\"`\n- List tracked blogs: `blogwatcher-cli blogs`\n- Remove a blog: `blogwatcher-cli remove \"My Blog\" --yes`\n- Import from OPML: `blogwatcher-cli import subscriptions.opml`\n\n### Scanning and reading\n\n- Scan all blogs: `blogwatcher-cli scan`\n- Scan one blog: `blogwatcher-cli scan \"My Blog\"`\n- List unread articles: `blogwatcher-cli articles`\n- List all articles: `blogwatcher-cli articles --all`\n- Filter by blog: `blogwatcher-cli articles --blog \"My Blog\"`\n- Filter by category: `blogwatcher-cli articles --category \"Engineering\"`\n- Mark article read: `blogwatcher-cli read 1`\n- Mark article unread: `blogwatcher-cli unread 1`\n- Mark all read: `blogwatcher-cli read-all`\n- Mark all read for a blog: `blogwatcher-cli read-all --blog \"My Blog\" --yes`\n\n## Environment Variables\n\nAll flags can be set via environment variables with the `BLOGWATCHER_` prefix:\n\n| Variable | Description |\n|---|---|\n| `BLOGWATCHER_DB` | Path to SQLite database file |\n| `BLOGWATCHER_WORKERS` | Number of concurrent scan workers (default: 8) |\n| `BLOGWATCHER_SILENT` | Only output \"scan done\" when scanning |\n| `BLOGWATCHER_YES` | Skip confirmation prompts |\n| `BLOGWATCHER_CATEGORY` | Default filter for articles by category |\n\n## Example Output\n\n```\n$ blogwatcher-cli blogs\nTracked blogs (1):\n\n  xkcd\n    URL: https:\u002F\u002Fxkcd.com\n    Feed: https:\u002F\u002Fxkcd.com\u002Fatom.xml\n    Last scanned: 2026-04-03 10:30\n```\n\n```\n$ blogwatcher-cli scan\nScanning 1 blog(s)...\n\n  xkcd\n    Source: RSS | Found: 4 | New: 4\n\nFound 4 new article(s) total!\n```\n\n```\n$ blogwatcher-cli articles\nUnread articles (2):\n\n  [1] [new] Barrel - Part 13\n       Blog: xkcd\n       URL: https:\u002F\u002Fxkcd.com\u002F3095\u002F\n       Published: 2026-04-02\n       Categories: Comics, Science\n\n  [2] [new] Volcano Fact\n       Blog: xkcd\n       URL: https:\u002F\u002Fxkcd.com\u002F3094\u002F\n       Published: 2026-04-01\n       Categories: Comics\n```\n\n## Notes\n\n- Auto-discovers RSS\u002FAtom feeds from blog homepages when no `--feed-url` is provided.\n- Falls back to HTML scraping if RSS fails and `--scrape-selector` is configured.\n- Categories from RSS\u002FAtom feeds are stored and can be used to filter articles.\n- Import blogs in bulk from OPML files exported by Feedly, Inoreader, NewsBlur, etc.\n- Database stored at `~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db` by default (override with `--db` or `BLOGWATCHER_DB`).\n- Use `blogwatcher-cli \u003Ccommand> --help` to discover all flags and options.\n","# Blogwatcher\n\nTrack blog and RSS\u002FAtom feed updates with the `blogwatcher-cli` tool. Supports automatic feed discovery, HTML scraping fallback, OPML import, and read\u002Funread article management.\n\n## Installation\n\nPick one method:\n\n- **Go:** `go install github.com\u002FJulienTant\u002Fblogwatcher-cli\u002Fcmd\u002Fblogwatcher-cli@latest`\n- **Docker:** `docker run --rm -v blogwatcher-cli:\u002Fdata ghcr.io\u002Fjulientant\u002Fblogwatcher-cli`\n- **Binary (Linux amd64):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_linux_amd64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (Linux arm64):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_linux_arm64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (macOS Apple Silicon):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_darwin_arm64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n- **Binary (macOS Intel):** `curl -sL https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\u002Flatest\u002Fdownload\u002Fblogwatcher-cli_darwin_amd64.tar.gz | tar xz -C \u002Fusr\u002Flocal\u002Fbin blogwatcher-cli`\n\nAll releases: https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli\u002Freleases\n\n### Docker with persistent storage\n\nBy default the database lives at `~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db`. In Docker this is lost on container restart. Use `BLOGWATCHER_DB` or a volume mount to persist it:\n\n```bash\n# Named volume (simplest)\ndocker run --rm -v blogwatcher-cli:\u002Fdata -e BLOGWATCHER_DB=\u002Fdata\u002Fblogwatcher-cli.db ghcr.io\u002Fjulientant\u002Fblogwatcher-cli scan\n\n# Host bind mount\ndocker run --rm -v \u002Fpath\u002Fon\u002Fhost:\u002Fdata -e BLOGWATCHER_DB=\u002Fdata\u002Fblogwatcher-cli.db ghcr.io\u002Fjulientant\u002Fblogwatcher-cli scan\n```\n\n### Migrating from the original blogwatcher\n\nIf upgrading from `Hyaxia\u002Fblogwatcher`, move your database:\n\n```bash\nmv ~\u002F.blogwatcher\u002Fblogwatcher.db ~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db\n```\n\nThe binary name changed from `blogwatcher` to `blogwatcher-cli`.\n\n## Common Commands\n\n### Managing blogs\n\n- Add a blog: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com`\n- Add with explicit feed: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com --feed-url https:\u002F\u002Fexample.com\u002Ffeed.xml`\n- Add with HTML scraping: `blogwatcher-cli add \"My Blog\" https:\u002F\u002Fexample.com --scrape-selector \"article h2 a\"`\n- List tracked blogs: `blogwatcher-cli blogs`\n- Remove a blog: `blogwatcher-cli remove \"My Blog\" --yes`\n- Import from OPML: `blogwatcher-cli import subscriptions.opml`\n\n### Scanning and reading\n\n- Scan all blogs: `blogwatcher-cli scan`\n- Scan one blog: `blogwatcher-cli scan \"My Blog\"`\n- List unread articles: `blogwatcher-cli articles`\n- List all articles: `blogwatcher-cli articles --all`\n- Filter by blog: `blogwatcher-cli articles --blog \"My Blog\"`\n- Filter by category: `blogwatcher-cli articles --category \"Engineering\"`\n- Mark article read: `blogwatcher-cli read 1`\n- Mark article unread: `blogwatcher-cli unread 1`\n- Mark all read: `blogwatcher-cli read-all`\n- Mark all read for a blog: `blogwatcher-cli read-all --blog \"My Blog\" --yes`\n\n## Environment Variables\n\nAll flags can be set via environment variables with the `BLOGWATCHER_` prefix:\n\n| Variable | Description |\n|---|---|\n| `BLOGWATCHER_DB` | Path to SQLite database file |\n| `BLOGWATCHER_WORKERS` | Number of concurrent scan workers (default: 8) |\n| `BLOGWATCHER_SILENT` | Only output \"scan done\" when scanning |\n| `BLOGWATCHER_YES` | Skip confirmation prompts |\n| `BLOGWATCHER_CATEGORY` | Default filter for articles by category |\n\n## Example Output\n\n```\n$ blogwatcher-cli blogs\nTracked blogs (1):\n\n  xkcd\n    URL: https:\u002F\u002Fxkcd.com\n    Feed: https:\u002F\u002Fxkcd.com\u002Fatom.xml\n    Last scanned: 2026-04-03 10:30\n```\n\n```\n$ blogwatcher-cli scan\nScanning 1 blog(s)...\n\n  xkcd\n    Source: RSS | Found: 4 | New: 4\n\nFound 4 new article(s) total!\n```\n\n```\n$ blogwatcher-cli articles\nUnread articles (2):\n\n  [1] [new] Barrel - Part 13\n       Blog: xkcd\n       URL: https:\u002F\u002Fxkcd.com\u002F3095\u002F\n       Published: 2026-04-02\n       Categories: Comics, Science\n\n  [2] [new] Volcano Fact\n       Blog: xkcd\n       URL: https:\u002F\u002Fxkcd.com\u002F3094\u002F\n       Published: 2026-04-01\n       Categories: Comics\n```\n\n## Notes\n\n- Auto-discovers RSS\u002FAtom feeds from blog homepages when no `--feed-url` is provided.\n- Falls back to HTML scraping if RSS fails and `--scrape-selector` is configured.\n- Categories from RSS\u002FAtom feeds are stored and can be used to filter articles.\n- Import blogs in bulk from OPML files exported by Feedly, Inoreader, NewsBlur, etc.\n- Database stored at `~\u002F.blogwatcher-cli\u002Fblogwatcher-cli.db` by default (override with `--db` or `BLOGWATCHER_DB`).\n- Use `blogwatcher-cli \u003Ccommand> --help` to discover all flags and options.\n",{"name":5,"author":42,"license":14,"version":43,"metadata":44,"description":7,"prerequisites":50},"JulienTant (fork of Hyaxia\u002Fblogwatcher)","2.0.0",{"hermes":45},{"tags":46,"homepage":49},[47,30,32,48],"RSS","Monitoring","https:\u002F\u002Fgithub.com\u002FJulienTant\u002Fblogwatcher-cli",{"commands":51},[52],"blogwatcher-cli","main","6746276ba18cb774853eb61b3b9399658bc9bc5c","core\u002Fhermes_sovereign_data\u002Fskills\u002Fresearch\u002Fblogwatcher","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch","2026-04-28 17:01:03",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill blogwatcher",{"tool":65,"command":66},"bunx","bunx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill blogwatcher",{"tool":68,"command":69},"pnpm","pnpm dlx skills add gjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN --skill blogwatcher","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fhermes_sovereign_data\u002Fskills\u002Fresearch\u002Fblogwatcher\u002FSKILL.md",true,[],[74,117,142,159,178,196],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":96,"publishedAt":37},"01M71QG27G1R2H2ZWEG4S0WTZT","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fwriting-plans\u002FSKILL.md",[80,85,88,93],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":86,"categoryName":87,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":94,"categoryName":95,"taxonomyType":91,"taxonomyTypeDesc":92},"01JBSEEDCAT000000000000036","内容创作者",[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116],"writing","writing plans","plans","test-driven","test-driven-development","superpowers","design","workflow","code","tasks","subagent","code-review","review","documentation","write","paths","planning","development","test","implementation",{"skillNo":118,"name":101,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":128,"publishedAt":37},"01M71QFZYRTJXMAE551MRAKZ14","TDD: enforce RED-GREEN-REFACTOR, tests before code.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Ftest-driven-development\u002FSKILL.md",[122,125],{"categoryNo":123,"categoryName":124,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":126,"categoryName":127,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000008","测试与质量",[129,114,115,130,131,132,133,102,97,134,105,107,135,136,137,138,139,99,140,141],"test driven development","driven","green","red-green-refactor","testing","debugging","systematic","refactor","systematic-debugging","enforce","tests","tdd","quality",{"skillNo":143,"name":137,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":148,"publishedAt":37},"01M71QFWR5Q8EYEQ6MCS3SM6MC","4-phase root cause debugging: understand bugs before fixing.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsystematic-debugging\u002FSKILL.md",[147],{"categoryNo":126,"categoryName":127,"taxonomyType":83,"taxonomyTypeDesc":84},[149,134,135,100,150,151,101,102,97,107,152,153,114,154,99,155,115,156,157,158],"systematic debugging","problem","problem-solving","phase","bugs","root cause","root-cause","investigation","understand","hermes",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":170,"publishedAt":37},"01M71QFS9S04MD8JP747W5WM0N","subagent-driven-development","Execute plans via delegate_task subagents (2-stage review).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fsubagent-driven-development\u002FSKILL.md",[165,166,169],{"categoryNo":86,"categoryName":87,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":167,"categoryName":168,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":94,"categoryName":95,"taxonomyType":91,"taxonomyTypeDesc":92},[171,107,114,130,100,101,172,173,102,97,104,105,108,109,174,175,99,176,177,115],"subagent driven development","delegate","delegation","subagents","parallel","stage","task",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":186,"publishedAt":37},"01M71QFQ1DBCVAZ511MXFE6T2V","requesting-code-review","Pre-commit review: security scan, quality gates, auto-fix.","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Frequesting-code-review\u002FSKILL.md",[184,185],{"categoryNo":123,"categoryName":124,"taxonomyType":83,"taxonomyTypeDesc":84},{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},[187,188,105,109,100,101,189,190,102,191,97,192,193,107,108,194,195,114,34,99],"code review","requesting code review","fix","auto-fix","auto","security scan","commit","verification","security",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":203,"publishedAt":37},"01M71QFM7KWM540YR67FRN807Q","python-debugpy","Debug Python: pdb REPL + debugpy remote (DAP).","https:\u002F\u002Fgithub.com\u002Fgjbvsjjvgm-sketch\u002FWORM_V2_SOVEREIGN\u002Fblob\u002Fmain\u002Fcore\u002Fskills\u002Fsoftware-development\u002Fpython-debugpy\u002FSKILL.md",[202],{"categoryNo":89,"categoryName":90,"taxonomyType":91,"taxonomyTypeDesc":92},[204,205,206,207,208,209,210,211,134,135,212,213,214,137,215,216,217,218,158,219],"debugpy","python debugpy","python","dap","inspect","post-mortem","pdb","remote","debugger","node","commands","debug","post","breakpoints","node-inspect","tui"]