{"id":"cmrodmmvq1k8ead08l4i2e70u","slug":"nblmskill","publicId":"cdba1759-46c4-4a5e-aade-403c25a69d81","name":"nblm/SKILL","description":"Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.","version":"","author":null,"license":"","compatibility":"","status":"completed","overallGrade":"B","scannerVersion":1,"fileCount":0,"hasSkillMd":false,"hasScripts":false,"hasReferences":false,"hasEvals":false,"hasAssets":false,"sourceType":"cli","sourceUrl":"","createdAt":"2026-07-17T03:26:52.301Z","completedAt":"2026-07-17T03:26:50.822Z","visibility":"public","publishedAt":"2026-07-28T14:33:44.041Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":null,"verdictPolicyVersion":null,"skillId":"cmrodmm0p1jp7ad08xff9ltc1","findings":[{"id":"cmrodmt511q1iad08wl7skitr","source":"vettd","category":"security","label":"References external URL — review for indirect prompt injection risk","detail":"External URL(s) detected in references/api_reference.md — referenced content can change after audit","severity":"medium","ruleId":"VTD-0088","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"885bf1b4de9a77b02bbb1cdf717927d5","filepath":""},{"id":"cmrodmt511q1ead08lmicqkn4","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/cleanup_manager.py:238 — `python cleanup_manager.py --confirm --force`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"d7e5b50f16daf0da2f0b1ec89bf8623c","filepath":""},{"id":"cmrodmt511q1fad084wumppd7","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/init_platform.py:246 — `print(f\"   Use --force to overwrite\")`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"d7e5b50f16daf0da2f0b1ec89bf8623c","filepath":""},{"id":"cmrodmt511q1had088v5c8j60","source":"vettd","category":"security","label":"No prompt injection or jailbreak signals detected","detail":"Scanned text content for instruction override, jailbreak framing, credential solicitation, and embedded injection markers","severity":"info","ruleId":"VTD-0092","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"ee5675c6452295fc92108d4c30cfebf6","filepath":""},{"id":"cmrodmt501q0kad08em779ezb","source":"vettd","category":"security","label":"No repository link","detail":"No repository field found in SKILL.md frontmatter. Skills without a verifiable source repository cannot be externally audited.","severity":"info","ruleId":"VTD-0083","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"e09767e7943872a2754f559ba01ef7db","filepath":""},{"id":"cmrodmt511q1gad08v0ami6wc","source":"vettd","category":"security","label":"No secrets or unsafe code patterns detected","detail":"Scanned all files for credentials, private keys, and code-level risks (eval, shell exec, destructive ops)","severity":"info","ruleId":"VTD-0091","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"2e3428ecd3c04cac33cabd959f51437a","filepath":""},{"id":"cmrodmt501q0had08gczoqq4d","source":"vettd","category":"structure","label":"references/ directory present","detail":"Additional documentation files available for progressive disclosure","severity":"info","ruleId":"VTD-0097","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"a5f22b7185c58877c3d5a94338930d62","filepath":""},{"id":"cmrodmt501q0gad08czdwuilj","source":"vettd","category":"structure","label":"scripts/ directory present","detail":"Bundled executable scripts found","severity":"info","ruleId":"VTD-0096","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"21a167b473d29b0a653734953d43b2fc","filepath":""},{"id":"cmrodmt501q0fad08s1yahhl6","source":"vettd","category":"structure","label":"SKILL.md present","detail":"Required skill definition file found","severity":"info","ruleId":"VTD-0095","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c4ab14319b89c3d0802fadf0dd105bac","filepath":""},{"id":"cmrodmt501q0jad08kys4gjgp","source":"vettd","category":"structure","label":"Valid name field","detail":"Name \"nblm\" follows spec (lowercase, hyphens, ≤64 chars)","severity":"info","ruleId":"VTD-0099","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"5ba54eca0b3e299a99112de98cbcd97f","filepath":""},{"id":"cmrodmt501q0mad08eyqm3be6","source":"vettd","category":"description","label":"Description includes usage context","detail":"Good: description explains when to activate the skill","severity":"info","ruleId":"VTD-0111","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"e325ab773f2c18f6f9d864add6464110","filepath":""},{"id":"cmrodmt501q0lad08cddl5ze5","source":"vettd","category":"description","label":"Description within character limit","detail":"265/1024 characters used","severity":"info","ruleId":"VTD-0110","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"66553d595a652c45a6f0d4353184b37e","filepath":""},{"id":"cmrodmt501q0oad08kg7kvhyf","source":"vettd","category":"best-practices","label":"No examples found","detail":"Add code blocks, input/output samples, or before/after examples to improve agent accuracy","severity":"info","ruleId":"VTD-0103","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"c2ceb48c4af3c87dafa32ec2596251b8","filepath":""},{"id":"cmrodmt501q0qad08ak1lu3be","source":"vettd","category":"best-practices","label":"Progressive disclosure used","detail":"SKILL.md body references files in references/, scripts/, or assets/ — agents can load additional context on demand instead of consuming everything upfront","severity":"info","ruleId":"VTD-0107","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"6fd5870d64ef20cb2bbaf421f8655a32","filepath":""},{"id":"cmrodmt501q0nad08jcdkoal3","source":"vettd","category":"best-practices","label":"SKILL.md body length is reasonable","detail":"181 lines (recommended: under 500)","severity":"info","ruleId":"VTD-0101","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42debaa072535bf5650f90d3168f0b93","filepath":""},{"id":"cmrodmt501q0pad08c6ra1ouu","source":"vettd","category":"best-practices","label":"Step-by-step workflow found","detail":"Structured procedures improve reliability for complex tasks","severity":"info","ruleId":"VTD-0106","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"2368c9a31ac52269c854f105795cf28c","filepath":""},{"id":"cmrodmt501q0vad08bwpsbf89","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/artifact_manager.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q0xad086nfj1x50","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/ask_question.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q0yad084uppcnnt","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/auth_manager.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q10ad08yjsmjz43","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/cleanup_manager.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q12ad08sp0qt9zh","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/daemon_watchdog.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q13ad08up08hgq2","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/init_platform.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q14ad082nu8coy8","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/nblm_cli.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q16ad08vl7ye32k","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/notebook_manager.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q1aad0814zhtluv","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/setup_environment.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt511q1bad08qpg7bkaa","source":"vettd","category":"scripts","label":"CLI help supported","detail":"scripts/source_manager.py: Script documents its interface via --help or argument parsing","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q0rad08ts2aa4xh","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/account_manager.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q0tad08syqvkn2h","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/agent_browser_client.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q11ad08tgv3f79r","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/config.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q17ad08bc1sg2dd","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/notebooklm_wrapper.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q18ad086b863x38","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/patchright_auth.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q19ad08nexq1wre","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/run.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt511q1cad08csdds9im","source":"vettd","category":"scripts","label":"No --help support","detail":"scripts/sync_manager.py: Add argument parsing with --help output so agents know the script's interface","severity":"info","ruleId":"VTD-0114","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"bacfb1a11efd590203ff7c5670ad38d8","filepath":""},{"id":"cmrodmt501q0sad08krleb66e","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/account_manager.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt501q0uad08e68lb1hb","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/agent_browser_client.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt501q0wad08u0n5cnff","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/artifact_manager.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt501q0zad08pc2dau1f","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/auth_manager.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt501q15ad08ckatuoo3","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/nblm_cli.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt511q1dad089q5oijvz","source":"vettd","category":"scripts","label":"Structured output format","detail":"scripts/sync_manager.py: Uses JSON/CSV output which is easily parseable by agents","severity":"info","ruleId":"VTD-0116","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"4ec02baf55eb1cec6e7af5f4773039a2","filepath":""},{"id":"cmrodmt501q0iad08nmn971id","source":"vettd","category":"evals","label":"No evaluation test cases","detail":"Add an evals/ directory with test prompts and expected outputs to measure skill quality","severity":"info","ruleId":"VTD-0118","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"41d019e0494a4a9763fc23c948d14e09","filepath":""}],"scannerRuns":[{"source":"vettd","status":"success","verdict":null,"grade":null,"findingCount":40,"criticalCount":0,"highCount":0}],"user":{"name":"Justin Pacella","image":"https://avatars.githubusercontent.com/u/97124458?v=4"},"repository":null,"freshness":null,"signalCategories":[{"category":"safety","label":"Safety","form":"graded","verdict":null,"rows":[]},{"category":"reliability","label":"Reliability & Quality","form":"graded","verdict":null,"rows":[]},{"category":"performance","label":"Performance","form":"measured","verdict":null,"rows":[]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":null,"rows":[]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":40,"publisherSupplied":["name","description","author","version","license"]}