Files
personas/personas/_shared/community-skills/notebooklm/scripts/config.py
salvacybersec 0183a1eb5f feat(community-skills): add opencode-cli + feynman-cli + migrate 12 skills
Two new tool-operation skills with deep references/ docs:
- opencode-cli: SKILL.md + 6 references covering rules, agents, models,
  commands, formatters, permissions, skills, MCP, plugins, custom tools,
  LSP, themes, keybinds, server API, SDK, GitHub Actions, IDE, network,
  troubleshooting (full opencode.ai/docs surface)
- feynman-cli: SKILL.md + 6 references covering install, setup, config,
  CLI, REPL slash commands, agents/tools/packages, and full pi-subagents
  custom-agent spec (verified against the working install)

Migrate 12 skills from ~/.claude/skills into _shared/community-skills/:
- clean copy: intel-briefing, vercel-react-best-practices, ui-ux-pro-max
- core-only: notebooklm (data/images stripped — 184M to 224K)
- light sanitize: anythingllm-manager (gitea URL), foia-tool (DB password),
  jira (atlassian instance + email), librarian (paths), obsidian-tasks
  (vault path + email-in-cred-path)
- branding sanitize: marketing-strategist + pentest-reporter (Proudsec
  variants normalized to <COMPANY>)
- secrets sanitize: waha-whatsapp (IP, API key, vault path placeholders)

Skipped per user: proudguard-api (kept locally only).

build.py:
- DEFAULT_SKILL_PERSONA_MAP: 14 new entries
- NAME_PATTERNS: opencode + jira to coding-tools; notebooklm + feynman-
  to ai-llm-dev; waha- to osint-intel

Community-skills index: 703 -> 716 (+13).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 12:19:53 +03:00

45 lines
1.2 KiB
Python
Executable File

"""
Configuration for NotebookLM Skill
Centralizes constants, selectors, and paths
"""
from pathlib import Path
# Paths
SKILL_DIR = Path(__file__).parent.parent
DATA_DIR = SKILL_DIR / "data"
BROWSER_STATE_DIR = DATA_DIR / "browser_state"
BROWSER_PROFILE_DIR = BROWSER_STATE_DIR / "browser_profile"
STATE_FILE = BROWSER_STATE_DIR / "state.json"
AUTH_INFO_FILE = DATA_DIR / "auth_info.json"
LIBRARY_FILE = DATA_DIR / "library.json"
# NotebookLM Selectors
QUERY_INPUT_SELECTORS = [
"textarea.query-box-input", # Primary
'textarea[aria-label="Feld für Anfragen"]', # Fallback German
'textarea[aria-label="Input for queries"]', # Fallback English
]
RESPONSE_SELECTORS = [
".to-user-container .message-text-content", # Primary
"[data-message-author='bot']",
"[data-message-author='assistant']",
]
# Browser Configuration
BROWSER_ARGS = [
'--disable-blink-features=AutomationControlled', # Patches navigator.webdriver
'--disable-dev-shm-usage',
'--no-sandbox',
'--no-first-run',
'--no-default-browser-check'
]
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
# Timeouts
LOGIN_TIMEOUT_MINUTES = 10
QUERY_TIMEOUT_SECONDS = 120
PAGE_LOAD_TIMEOUT = 30000