← 返回
未分类

Notebooklm Skill Factory

Orchestrate NotebookLM research into SKILL.md generation and Claude Code validation in a single automated pipeline. Use when user asks to create a new Claude...
kidcvs
未分类 clawhub v0.1.0 100000 Key: 无需
★ 0
Stars
📥 309
下载
💾 0
安装

概述

NotebookLM Skill Factory

Orchestrate the full pipeline: NotebookLM source ingestion → structured SKILL.md extraction → write to skills directory → validate → test → iterate.

Prerequisites Check

Before the pipeline, verify NotebookLM is authenticated:

notebooklm status || notebooklm login

If notebooklm login opens a browser, tell user to complete Google OAuth and press ENTER in their terminal.

Pipeline

Phase 1: Setup & Source Ingestion

  1. Create a dedicated notebook for this skill:

```bash

notebooklm create "Skill: {skill-name}" --json

```

Parse the notebook id from JSON output.

  1. Collect sources from user. Ask:

> "What sources should this skill be based on? Give me URLs, local file paths, YouTube links — anything high-quality and specific to this domain."

If the user doesn't have sources ready, suggest:

  • Official documentation URLs
  • Well-known books/articles on the topic (user can provide PDFs)
  • YouTube tutorials/channels specializing in the area
  1. Add sources (use -n for all subsequent commands):

```bash

notebooklm source add "https://..." -n --json

notebooklm source add ./local-file.pdf -n --json

```

Capture each source_id.

  1. Wait for indexing — spawn a background agent to avoid blocking:

```bash

notebooklm source wait -n --timeout 600

```

For multiple sources, wait them all. If any source fails indexing (exit code 1), log a warning but continue with remaining sources.

Phase 2: Extract SKILL.md

  1. Load the extraction prompt template:

Read references/skill-extraction-prompt.md. Replace {USER_INTENT} with the user's original request.

  1. Query NotebookLM against all indexed sources:

```bash

notebooklm ask "{extraction_prompt}" -n --json

```

  1. Parse the output into a clean SKILL.md:

```bash

echo '' | python3 scripts/parse-skill-output.py > /tmp/skill-output.md

```

Or save the JSON to a temp file first, then pipe.

  1. Validate basic structure:
    • Starts with --- YAML frontmatter
    • Has name: and description: fields
    • Body is non-empty after frontmatter

If validation fails, re-prompt NotebookLM with more specific instructions.

Phase 3: Install & Validate

  1. Create the skill directory:

```bash

mkdir -p ~/.claude/skills/{skill-name}

```

  1. Write the SKILL.md:

Move the parsed output to ~/.claude/skills/{skill-name}/SKILL.md

  1. Run skill-creator validation (via Skill tool):

Invoke skill-creator with: "Validate the skill at ~/.claude/skills/{skill-name}/ and fix any issues found. Run package_skill.py to check for errors."

  1. Run skill-vetter security check (via Skill tool):

Invoke skill-vetter with: "Review the skill at ~/.claude/skills/{skill-name}/ for security issues."

Phase 4: Test & Iterate

  1. Test the skill by invoking it with a realistic prompt matching its intended use case.
  1. Collect failures:
    • Did the skill trigger correctly?
    • Did it produce correct output?
    • Any hallucinations or gaps?
  1. If issues found, iterate:
    • Feed the failure description back to NotebookLM:

```bash

notebooklm ask "The SKILL.md generated earlier has this issue: {failure}. Based on the sources, rewrite it to fix this. Output complete corrected SKILL.md in a markdown code block." -n --json

```

  • Parse again and overwrite SKILL.md
  • Re-test
  1. Repeat until the skill passes a real usage test.

Error Recovery

SituationAction
-------------------
NotebookLM auth expiredRun notebooklm login, retry
Source indexing failedSkip that source, warn user, continue
Extraction prompt returned emptyCheck if sources are indexed (status=ready), re-query with --new flag
Generated SKILL.md fails validationSend failure description back to NB for rewrite (Phase 4 iteration)
NB rate limitedWait 5-10 min, retry once

Source Quality Guidelines

Remind users:

  • One notebook per skill, one theme per notebook
  • 3-10 high-quality sources work better than 20+ mixed ones
  • Official docs > blog posts > YouTube transcripts
  • If the skill covers multiple unrelated domains, create separate notebooks for each
  • After generation, user should be the final human reviewer — check tone, logic, completeness

Completing the Pipeline

When the skill passes testing, report:

  • Skill name and path (~/.claude/skills/{name}/)
  • Number of sources used
  • Number of iteration rounds
  • Final test result summary

版本历史

共 1 个版本

  • v0.1.0 当前
    2026-05-08 01:25 安全 安全

安全检测

暂无安全检测报告