### Auto Setup - Skip X, Setup YouTube + Digg Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Runs the setup command skipping all browser cookie reads, proceeding with the installation of yt-dlp and the Digg CLI. ```bash FROM_BROWSER=off python3 skills/last30days/scripts/last30days.py setup ``` -------------------------------- ### Auto Setup - Use xAI API Key Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Configures the setup to use an xAI API key instead of browser cookies. Writes the API key to .env and proceeds with installing yt-dlp and Digg. ```bash AskUserQuestion( Question="Please paste your xAI API key:" ) XAI_API_KEY= echo "XAI_API_KEY=$XAI_API_KEY" >> ~/.config/last30days/.env FROM_BROWSER=off python3 skills/last30days/scripts/last30days.py setup ``` -------------------------------- ### Manual Developer Setup for Last30Days Skill Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Clone the repository and create a symbolic link to install the skill manually for development. This keeps the installation in sync with your working tree. ```bash git clone https://github.com/mvanhorn/last30days-skill.git ln -s "$(pwd)/last30days-skill/skills/last30days" ~/.claude/skills/last30days ``` -------------------------------- ### GitHub CLI Setup Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Install and authenticate the GitHub CLI for automatic GitHub search. No API key is required. ```bash brew install gh && gh auth login ``` -------------------------------- ### YouTube Setup Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Install yt-dlp for YouTube search and transcripts. An optional ScrapeCreators API key can be used as a fallback. ```bash brew install yt-dlp ``` ```bash pip install yt-dlp ``` ```env SCRAPECREATORS_API_KEY=xxx ``` -------------------------------- ### Setup Completion Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Add this line to your .env file to indicate that the setup process is complete. ```env SETUP_COMPLETE=true ``` -------------------------------- ### Digg Setup Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Install the Digg CLI using npx to enable Digg trending news and feeds. Ensure the CLI is in your PATH. ```bash npx @mvanhorn/printing-press-library install digg --cli-only ``` -------------------------------- ### Skip for now - Manual Setup Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md If the user selects 'Skip for now', this command writes to the .env file to prevent the setup wizard from re-firing and skips the setup command. ```bash mkdir -p ~/.config/last30days && touch ~/.config/last30days/.env echo "SETUP_COMPLETE=true" >> ~/.config/last30days/.env ``` -------------------------------- ### Setup with Browser Cookies Enabled Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Initiates the setup process, allowing the skill to read browser cookies for enhanced functionality. Appends `BROWSER_CONSENT=true` to the environment file upon successful completion. ```bash python3 skills/last30days/scripts/last30days.py setup --allow-browser-cookies ``` -------------------------------- ### Install yt-dlp for YouTube Search Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/reference/old-nux-wizard-v3.0.0.md If yt-dlp is not found during setup, it can be installed using pip. This is required for YouTube search functionality. ```bash pip install yt-dlp ``` -------------------------------- ### Install via Agent Skills CLI (Multiple Harnesses) Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Install the skill globally and target multiple harnesses like Codex and Cursor. ```bash npx skills add mvanvan/last30days-skill -g -a codex -a cursor ``` -------------------------------- ### Install via Claude Code Marketplace Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Use this command to install the skill through the Claude Code marketplace. Updates are handled automatically. ```bash /plugin marketplace add mvanvan/last30days-skill ``` -------------------------------- ### Auto Setup - Allow Browser Cookies Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Executes the setup command to allow browser cookie scanning for X/Twitter authentication. Appends browser consent to the .env file upon completion. ```bash python3 skills/last30days/scripts/last30days.py setup --allow-browser-cookies echo "BROWSER_CONSENT=true" >> ~/.config/last30days/.env ``` -------------------------------- ### Run Last30Days Setup Script Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/reference/old-nux-wizard-v3.0.0.md Execute the main setup script for the Last30Days skill. Ensure you are in the correct directory before running. ```bash cd {SKILL_DIR} && python3 scripts/last30days.py setup ``` -------------------------------- ### Install Digg CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Installs the Digg CLI using the printing press library. This command is typically run as part of the setup process. ```bash npx -y @mvanhorn/printing-press-library@0.1.16 install digg --cli-only ``` -------------------------------- ### Install via Agent Skills CLI (Specific Harness) Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Install the skill globally and target a specific harness like Codex. ```bash npx skills add mvanvan/last30days-skill -g -a codex ``` -------------------------------- ### Install Trustpilot CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Installs the Trustpilot integration for the printing press library. This is an opt-in source and requires a specific installation command. ```bash npx -y @mvanhorn/printing-press-library@0.1.16 install trustpilot --cli-only ``` -------------------------------- ### Troubleshooting: Install yt-dlp Source: https://github.com/mvanhorn/last30days-skill/blob/main/HERMES_SETUP.md Installs the yt-dlp utility using either Homebrew or pip. ```bash brew install yt-dlp # or pip install yt-dlp ``` -------------------------------- ### Run GitHub CLI Setup for ScrapeCreators Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Executes the ScrapeCreators setup script via GitHub CLI. This is the recommended method for quick registration. It handles API key persistence and provides user feedback on success or failure. ```bash python3 skills/last30days/scripts/last30days.py setup --github ``` -------------------------------- ### Run Last30Days Setup with GitHub Integration Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/reference/old-nux-wizard-v3.0.0.md Execute the setup script with the --github flag to enable ScrapeCreators integration via GitHub CLI. This command has a 5-minute timeout. ```bash cd {SKILL_DIR} && python3 scripts/last30days.py setup --github ``` -------------------------------- ### Install /last30days Skill for Agent Skills Hosts Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Install the skill using npx for compatibility with Codex, Cursor, Copilot, Gemini CLI, and other Agent Skills hosts. The -g flag installs globally. ```bash npx skills add mvanhorn/last30days-skill -g ``` -------------------------------- ### Install last30days-skill Plugin Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/releases/v3.0.9.md Use these commands to install or update the last30days-skill plugin from the marketplace. If already installed, update and reload plugins. ```bash /plugin marketplace add mvanhorn/last30days-skill /plugin install last30days@last30days-skill ``` ```bash /plugin update last30days /reload-plugins ``` -------------------------------- ### Example: Sam Altman X Handles for CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Demonstrates passing resolved X handles for 'Sam Altman' to a CLI. Includes the primary handle and related handles like his company and a tech media outlet. ```bash --x-handle=sama --x-related=OpenAI,TechCrunch ``` -------------------------------- ### Install via OpenClaw Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Use this command to install the last30days-skill using the OpenClaw package manager. ```bash clawhub install last30days-official ``` -------------------------------- ### Install via Agent Skills CLI (Global) Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Install the skill globally using the Agent Skills CLI. The -g flag ensures it's available across all projects. ```bash npx skills add mvanvan/last30days-skill -g ``` -------------------------------- ### Example: Kanye West X Handles for CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Demonstrates passing resolved X handles for 'Kanye West' to a CLI. Includes the primary handle and related handles like collaborators and commentators. ```bash --x-handle=kanyewest --x-related=travisscott,PopBase,HotFreestyle ``` -------------------------------- ### Install Skill Locally Source: https://github.com/mvanhorn/last30days-skill/blob/main/AGENTS.md Copies the skill into the local agents directory. Re-run to sync working tree edits. ```bash npx skills add . -g -y ``` -------------------------------- ### Install last30days Skill Source: https://github.com/mvanhorn/last30days-skill/blob/main/HERMES_SETUP.md Installs the latest release of the last30days skill from GitHub. Use --force to reinstall over an existing copy. ```bash hermes skills install mvanhorn/last30days-skill --force ``` -------------------------------- ### Example Usage Command Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/v2.1-launch-copy.md This command demonstrates how to use the last30days skill with any topic, leveraging its multiple search sources. ```bash /last30days [any topic] ``` -------------------------------- ### Setup last30days Python Interpreter Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md This bash script attempts to find and set a compatible Python 3.12+ interpreter for the last30days skill. It prioritizes user-defined paths and common installation locations on Windows and then searches system paths. ```bash try_last30days_python() { candidate="$1" [ -n "$candidate" ] || return 1 if [ -x "$candidate" ]; then : elif command -v "$candidate" >/dev/null 2>&1; then : else return 1 fi "$candidate" -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 12) else 1)' || return 1 LAST30DAYS_PYTHON="$candidate" return 0 } windows_path_to_unix() { path="$1" [ -n "$path" ] || return 1 if command -v cygpath >/dev/null 2>&1; then cygpath -u "$path" else printf '%s\n' "$path" fi } if [ -z "${LAST30DAYS_PYTHON:-}" ]; then while IFS= read -r windows_python_root; do [ -n "$windows_python_root" ] && [ -d "$windows_python_root" ] || continue while IFS= read -r py; do try_last30days_python "$py" && break 2 done </dev/null | sort -r) EOF_PYTHON_CANDIDATES done <&2 exit 1 fi "${LAST30DAYS_PYTHON}" -c 'import sys; raise SystemExit(0 if sys.version_info >= (3, 12) else 1)' || { echo "ERROR: LAST30DAYS_PYTHON must point to Python 3.12+." >&2 exit 1 } LAST30DAYS_MEMORY_DIR="${LAST30DAYS_MEMORY_DIR:-"$HOME/Documents/Last30Days"}" ``` -------------------------------- ### First-Run Gate Check Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Run this Bash command immediately after resolving host web search to check if the setup is complete. It emits '1' if complete or 'FIRST_RUN_DETECTED' if it's a first run. ```bash grep -q "SETUP_COMPLETE=true" ~/.config/last30days/.env 2>/dev/null && echo "1" || echo "FIRST_RUN_DETECTED" ``` -------------------------------- ### Example .env Skeleton for Last30Days Skill Source: https://github.com/mvanhorn/last30days-skill/blob/main/CONFIGURATION.md This is a skeleton of the .env file used for configuring the Last30Days Skill. Replace placeholder values with your actual API keys and credentials for various services. ```bash # Reasoning + planning (one provider; see priority below) GOOGLE_API_KEY= # Web search backend (one is enough; Brave is the cheapest) BRAVE_API_KEY= # Optional sources SCRAPECREATORS_API_KEY= INCLUDE_SOURCES=tiktok,instagram # Add perplexity to INCLUDE_SOURCES when you want the paid Perplexity source. # PERPLEXITY_API_KEY= # INCLUDE_SOURCES=tiktok,instagram,perplexity # LAST30DAYS_PERPLEXITY_MODE=sonar # sonar | search | both # LAST30DAYS_PERPLEXITY_MODEL=sonar-pro # sonar | sonar-pro | sonar-reasoning-pro # X authentication (one option only) AUTH_TOKEN= CT0= # OR xAI API key (paid) # XAI_API_KEY= # OR Xquik key-based X search # XQUIK_API_KEY= # OR cookie-jar (free; logs in via your browser session). # Unset = no browser-cookie reads. FROM_BROWSER=auto tries Firefox/Safari and # the Chromium family (Chrome, Brave, Edge, Vivaldi, Opera, Arc, Chromium); it # only prompts for macOS Keychain access on the browser that actually holds your # X cookies. Or name a single browser, e.g. brave/edge. On Windows only Firefox # is supported. # FROM_BROWSER=firefox # Bluesky BSKY_HANDLE=.bsky.social BSKY_APP_PASSWORD= ``` -------------------------------- ### Interactive Keychain Setup Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Use this script to interactively set up API keys in your macOS Keychain. It prompts for each known key and allows skipping with empty input. ```bash skills/last30days/scripts/setup-keychain.sh ``` -------------------------------- ### Troubleshooting: Find Python 3.12+ Source: https://github.com/mvanhorn/last30days-skill/blob/main/HERMES_SETUP.md Commands to locate an installed Python 3.12+ interpreter or install it using Homebrew. ```bash # Find Python 3.12+ which python3.12 python3.13 python3.14 # If not installed brew install python@3.12 ``` -------------------------------- ### Install /last30days Skill for Claude Code Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md Use these commands to install the skill via the Claude Code marketplace. This method ensures automatic updates. ```bash /plugin marketplace add mvanhorn/last30days-skill /plugin install last30days ``` -------------------------------- ### Install via Agent Skills CLI on Claude Code Source: https://github.com/mvanhorn/last30days-skill/blob/main/README.md This command installs the skill using the Agent Skills CLI, specifically targeting Claude Code. It can coexist with the marketplace plugin. ```bash npx skills add mvanvan/last30days-skill -g -a claude-code ``` -------------------------------- ### Developer Setup: Symlink Working Tree Source: https://github.com/mvanhorn/last30days-skill/blob/main/HERMES_SETUP.md Clones the skill repository and creates a symbolic link for live editing. Edits in the local repository will propagate to Hermes without re-installation. ```bash git clone https://github.com/mvanhorn/last30days-skill.git mkdir -p ~/.hermes/skills/research ln -s "$(pwd)/last30days-skill/skills/last30days" ~/.hermes/skills/research/last30days ``` -------------------------------- ### Auto Setup - Consent Prompt Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md If browser consent is not yet recorded, this prompts the user for permission to scan browser cookies for X/Twitter authentication. ```bash AskUserQuestion( Question="Auto setup will scan your browser (Firefox/Safari) for x.com cookies to authenticate X search. Cookies are read live, not saved to disk. OK to proceed?", Options=[ "Yes, scan my cookies for X", "Skip X, just set up YouTube + Digg", "I have an xAI API key instead" ] ) ``` -------------------------------- ### Run Preflight Check Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md Execute the preflight script to gather information about the current setup and configuration. This is a safe operation that does not modify any files or read sensitive data. ```bash python3 "${SKILL_DIR}/scripts/last30days.py" --preflight ``` -------------------------------- ### Run Preflight Check for Last30Days Skill Source: https://github.com/mvanhorn/last30days-skill/blob/main/CONFIGURATION.md Use the --preflight flag to get a human-readable summary of source availability and permissions. This is a safe diagnostic tool. ```python python3 scripts/last30days.py --preflight ``` -------------------------------- ### Run Basic Search Quality Evaluation Source: https://github.com/mvanhorn/last30days-skill/blob/main/docs/search-quality-eval.md Execute the script with default settings to perform a baseline comparison. Ensure `uv` is installed and configured for running Python scripts. ```bash uv run python skills/last30days/scripts/evaluate_search_quality.py ``` -------------------------------- ### Setup macOS Keychain and pass Scripts Source: https://github.com/mvanhorn/last30days-skill/blob/main/CONFIGURATION.md Use these scripts to set up encrypted credential sources for macOS Keychain and pass. The `--list` and `--delete KEY` flags are available for managing existing keys. ```bash # macOS Keychain ./scripts/setup-keychain.sh # interactive; --list / --delete KEY # pass(1) — Linux/Unix analog ./scripts/setup-pass.sh # interactive; --list / --delete KEY ./scripts/setup-pass.sh SCRAPECREATORS_API_KEY # just one key ``` -------------------------------- ### Pass Primary Handle to CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md This is an example of how to pass the resolved primary X handle to a command-line interface. The handle should be provided without the '@' symbol. ```bash --x-handle={handle} ``` -------------------------------- ### Pass Related Handles to CLI Source: https://github.com/mvanhorn/last30days-skill/blob/main/skills/last30days/SKILL.md This is an example of how to pass multiple resolved related X handles to a command-line interface. Handles should be comma-separated and without the '@' symbol. ```bash --x-related={handle1},{handle2},{company_handle},{commentator_handles} ```