dev-research — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited dev-research (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Integrates NotebookLM into development workflow for grounded, citation-backed research. Uses notebooklm-py CLI for all NotebookLM interactions.
# Check if notebooklm-py is installed
which notebooklm || echo "Install: pip install 'notebooklm-py[browser]'"
# Check auth
notebooklm auth check --testEach dev notebook follows naming: [Project] — [Purpose]
Examples:
Research a topic using NotebookLM's grounded answers.
# Check if relevant notebook exists
notebooklm list 2>/dev/null | grep -i "TOPIC"
# If not, create one
notebooklm create "Research — TOPIC"
notebooklm use <notebook_id>
# Add sources — user provides URLs, or we search
notebooklm source add "URL1"
notebooklm source add "URL2"
notebooklm source add "./local-doc.md"
# Ask questions
notebooklm ask --json "QUESTION"Parse JSON response and extract:
Query project documentation notebook.
# Use the project's docs notebook
notebooklm use <project-docs-notebook-id>
notebooklm ask --json "QUESTION"This gives grounded answers from actual documentation, not hallucinations.
Create a structured comparison using NotebookLM.
notebooklm create "Comparison — OPTION1 vs OPTION2"
# Add documentation for both options
notebooklm source add "URL_OPTION1_DOCS"
notebooklm source add "URL_OPTION2_DOCS"
# Structured comparison questions
notebooklm ask --json "Compare OPTION1 and OPTION2 for: performance, DX, ecosystem, production readiness"
notebooklm ask --json "What are the main trade-offs between OPTION1 and OPTION2?"
notebooklm ask --json "Which is better for: [specific use case]?"
# Generate mind-map for visual comparison
notebooklm generate mind-map
notebooklm download mind-map ./vault/research/COMPARISON.jsonLoad current project documentation into NotebookLM.
PROJECT_NAME=$(basename $(git rev-parse --show-toplevel 2>/dev/null || pwd))
VAULT=${VAULT_PATH:-~/vault}
# Create or reuse notebook
notebooklm create "$PROJECT_NAME — Documentation"
# Add from vault
for f in "$VAULT/projects/$PROJECT_NAME/decisions/"*.md; do
notebooklm source add "$f"
done
# Add architecture docs from project
find . -name "*.md" -maxdepth 2 | head -20 | while read f; do
notebooklm source add "$f"
done
echo "Loaded docs for $PROJECT_NAME into NotebookLM"Upload session logs to NotebookLM for cross-project search.
VAULT=${VAULT_PATH:-~/vault}
# Use or create archive notebook
notebooklm create "Dev Sessions Archive"
# Upload recent sessions from all projects
for project_dir in "$VAULT/projects"/*/sessions/; do
for session in $(ls -t "$project_dir"*.md 2>/dev/null | head -10); do
notebooklm source add "$session"
done
doneNow you can ask: "When did we last deal with caching issues?" across all projects.
All NotebookLM research outputs go to the vault:
VAULT=${VAULT_PATH:-~/vault}
# Mind maps
notebooklm download mind-map "$VAULT/research/TOPIC-mindmap.json"
# Research notes (from JSON answers)
# Parse and format as Obsidian markdown with wikilinksWhen saving answers to vault:
[1] → [[Source Name#passage]]Example output file:
---
date: 2026-04-06
notebook: "Crypto Portal — Stack Docs"
question: "How does Payload CMS handle field hooks?"
sources: ["Payload CMS Docs", "Next.js Integration Guide"]
---
# How Payload CMS handles field hooks
[answer with wikilinks to sources]
## Sources
- [[Payload CMS Docs]] — field lifecycle
- [[Next.js Integration Guide]] — integration patternsGenerate audio briefing for a project:
notebooklm generate audio "Brief project status and key decisions" --wait
notebooklm download audio "$VAULT/projects/$PROJECT/briefing-$(date +%Y-%m-%d).mp3"Listen on phone via Obsidian Sync while commuting.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.