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>
45 lines
1.2 KiB
Python
Executable File
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
|