Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .clawhubignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ CONCEPTS.md
CONFIGURATION.md
CONTRIBUTORS.md
HERMES_SETUP.md
HERMES_CRON_SETUP.md
release-notes.md
SKILL-original.md
SPEC.md
Expand Down
1 change: 1 addition & 0 deletions .skillignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ CONCEPTS.md
CONFIGURATION.md
CONTRIBUTORS.md
HERMES_SETUP.md
HERMES_CRON_SETUP.md
release-notes.md
SKILL-original.md
SPEC.md
Expand Down
38 changes: 38 additions & 0 deletions HERMES_CRON_SETUP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Hermes Cron Setup for last30days

> The SessionStart hook (`hooks/hooks.json`) is Claude Code-specific and does not fire on Hermes.
> Use a Hermes cron job as the equivalent auto-start mechanism.

## What the SessionStart hook does

The Claude Code hook runs `hooks/scripts/check-config.sh` on every session start. It:
1. Creates `$LAST30DAYS_MEMORY_DIR` (defaults to `~/Documents/Last30Days`)
2. Shows configuration status (active sources, last run summary)
3. Detects first-run and shows welcome message

## Hermes equivalent: cron job
### Directory creation
The engine creates `$LAST30DAYS_MEMORY_DIR` automatically when running — no manual setup needed.
# One-time: check and report config status
bash hooks/scripts/check-config.sh
```

### Option A: Daily health check cron

```bash
hermes cron create --schedule "0 9 * * *" --prompt "Run 'bash skills/research/last30days/hooks/scripts/check-config.sh' and report the result."
```

### Option B: Manual first-run detection

The first-run detection is handled by the SKILL.md Step 0 setup wizard. The engine automatically detects `~/.config/last30days/.env` and runs the wizard on first invocation. No cron needed.

### Option C: Background directory creation

On Hermes Desktop, the agent will create `$LAST30DAYS_MEMORY_DIR` automatically when running the skill. The directory creation is handled by the engine's save logic — the hook's `mkdir -p` is a convenience, not a requirement.

## What's NOT needed on Hermes

- The permission check (`chmod 600`) — Windows uses ACLs, not POSIX permissions
- The Keychain integration — Windows uses Credential Manager (handled separately)
- The config status message — the skill reports available sources in its own output
25 changes: 23 additions & 2 deletions HERMES_SETUP.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This guide covers installing last30days on Hermes AI Agent.

## Prerequisites

1. **Hermes installed** - See https://github.com/mercurial-tf/hermes
1. **Hermes installed** - See https://github.com/nousresearch/hermes-agent
2. **Python 3.12+** - `brew install python@3.12` or similar
3. **yt-dlp** (optional, for YouTube) - `brew install yt-dlp`

Expand Down Expand Up @@ -106,8 +106,29 @@ hermes skills install mvanhorn/last30days-skill --force

If you symlinked your working tree (developer alternative above), just `git pull` in the repo — edits propagate live, no re-install step.

## Auto-Start (SessionStart hook alternative)

The Claude Code SessionStart hook (`hooks/hooks.json`) does not fire on Hermes. Instead:

### Directory creation
The engine creates `$LAST30DAYS_MEMORY_DIR` automatically when running — no manual setup needed.

### Config health check
Run manually after installing/updating API keys:
```bash
bash hooks/scripts/check-config.sh
```

### Optional: daily cron
```bash
hermes cron create --schedule "0 9 * * *" \
--prompt "Run 'bash skills/research/last30days/hooks/scripts/check-config.sh' and report status."
```

See `HERMES_CRON_SETUP.md` for full details.

## Support

- Original repo: https://github.com/mvanhorn/last30days-skill
- Hermes: https://github.com/mercurial-tf/hermes
- Hermes: https://github.com/nousresearch/hermes-agent
- Issues: Please report in the original repo
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,10 +346,12 @@ Per-client wrapper scripts, custom category-peer subreddits, and the experimenta

## Open source

MIT license. No tracking. No analytics. Your research stays on your machine. 1,012 tests.
MIT license. No tracking. No analytics. Your research stays on your machine. 1,012 tests across 144 files.

Built with Python 3.12+, yt-dlp, Node.js (vendored Bird client for X search), and ScrapeCreators API. v3 engine architecture by [@j-sperling](https://github.com/j-sperling).

The skill definition at `skills/last30days/SKILL.md` (66KB, under all runtime limits) is the source of truth. Detailed guides live in [`references/`](skills/last30days/references/) — loaded on demand during research execution. See [`references/INDEX.md`](skills/last30days/references/INDEX.md) for navigation.

See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the full list of community contributors and [CHANGELOG.md](CHANGELOG.md) for version history.

## Star History
Expand Down
1 change: 1 addition & 0 deletions skills/last30days/.skillignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ scripts/evaluate_search_quality.py
scripts/test_device_auth.py
scripts/test-v1-vs-v2.sh
scripts/verify_v3.py
__pycache__/
1,386 changes: 113 additions & 1,273 deletions skills/last30days/SKILL.md

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions skills/last30days/references/INDEX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# last30days Skill: References Index

> **Navigation guide** for the 8 reference files extracted from SKILL.md.
> The core workflow is in `SKILL.md` (66KB). These references contain detailed guides
> loaded on demand via the agent's skill loading mechanism.

## Runtime Workflow (loaded per step)

| Step | File | Size | When to load |
|------|------|------|-------------|
| Step 0 | [`setup-wizard.md`](setup-wizard.md) | 25KB | First-run only; skip if `SETUP_COMPLETE=true` |
| Step 0.45 | [`query-quality-preflight.md`](query-quality-preflight.md) | 7KB | When topic looks like a keyword trap |
| Step 0.5 | [`pre-flight-resolution.md`](pre-flight-resolution.md) | 11KB | For named-entity topics (handles/repos) |
| Step 0.55 | [`pre-research-intelligence.md`](pre-research-intelligence.md) | 16KB | For named-entity topics (communities/handles) |
| Step 0.75 | [`query-plan-generation.md`](query-plan-generation.md) | 5KB | For named-entity topics (JSON query plan) |
| Synthesis | [`synthesis-template.md`](synthesis-template.md) | 43KB | When synthesizing engine results |
| Optional | [`save-html-brief.md`](save-html-brief.md) | 15KB | When emitting HTML briefs |

## Reference Documentation

| File | Size | Content |
|------|------|---------|
| [`laws-and-examples.md`](laws-and-examples.md) | 22KB | LAW 1-8 detailed explanations, violation history, worked examples |

## Total

- **8 files, ~143KB** extracted from the original 192KB SKILL.md
- **Core SKILL.md** is now **66KB** (under Hermes 100KB limit)
- **Original SKILL.md** was **192KB** (2088 lines)

## Hermes Note

On Hermes Agent, load reference files via `skill_view(name='last30days', file_path='references/<name>')`.
The core SKILL.md contains short summaries and pointers to each reference file.
Loading