A shared task list the Hermes agent can keep

Hermes remembers what it learns across sessions. Pair that memory with a task list it can actually act on. Add the pt CLI as a skill and Hermes tracks your goals as structured tasks, then you adjust them from an end-to-end encrypted app on any device.

Hermes Agent logo
Hermes Agent
Telegram
  1. You: That book I keep telling you I’ll write. Let’s actually do it in 2027.

  2. Hermes Agent: I found it in our old chats. “Write the book” is your 2027 goal: outline by March, first draft by September, editor in December.

  3. You: What’s today’s piece?

  4. Hermes Agent: 500 words of chapter one. It’s at the top of today’s list, and the book is 3% written.

Why pair Hermes with PerspecTask?

Hermes is Nous Research's open-source self-improving agent that runs on Telegram, Discord, Slack, and the terminal. Its memory is great for context, but goals deserve a structured home. PerspecTask gives Hermes a real task tree it queries and updates through a CLI. Those tasks are plaintext so the CLI can read them, while anything you keep end-to-end encrypted stays invisible to the agent and to PerspecTask.

hermes-skill.sh
Shell
# Add the PerspecTask CLI to your Hermes agent as a skill
npm install -g @perspectask/cli
pt auth set --key "pt_live_..."

# Hermes can then run these across any session, on any platform:
pt tasks create "Draft the Q3 plan" --deadline next-week --priority 2
pt tasks abc --tree           # pull a whole goal and its subtasks
pt tasks update 7c1 --status IN_PROGRESS

Because tasks live in PerspecTask, Hermes picks up exactly where it left off, even in a brand new chat on a different platform.

How it fits the Hermes workflow

01

Install once

Add @perspectask/cli to the server Hermes runs on and authenticate with a scoped key. Hermes treats it as one more skill.

02

Tasks outlive the session

Hermes keeps memory, but tasks stored in PerspecTask are structured and queryable. A new chat on Telegram or the terminal sees the same open list, so nothing gets dropped between sessions.

03

You stay in charge

Break big goals into subtasks, reschedule across day, week, month, or year views, and check progress from the PerspecTask app. Hermes and you work from one synced, encrypted account.

The rest of this page is written for your agent

Tell Hermes to set up PerspecTask from perspectask.com/hermes. It reads the steps below and wires itself up, asking you for the key.

perspectask.com/hermesRead it as markdown

You are reading the setup steps for connecting PerspecTask, an end-to-end encrypted task manager, to Hermes. Follow them in order, and stop where a step says to.

  1. 1

    Get the key. Every call authenticates with a PerspecTask API key (pt_live_...) that the human in the loop creates at https://app.perspectask.com/account under API Keys, choosing its scopes: tasks:read to read, tasks:write to create and edit, tasks:write:meta to change status, priority, deadline and parents without ever rewriting a title or description. Ask the user to paste a key made for you, then save it with pt auth set --key so every later session finds it. Never repeat it back in the chat.

    If the user has not given you a key, or saved one where your requests can use it, stop here and ask for one. Only a signed-in human can create it. Never continue as though you had a key, and never invent one.

  2. 2

    Wire it up. Run npm install -g @perspectask/cli on the machine Hermes runs on, then pt auth set --key "pt_live_...". You already run shell commands, so pt needs no wrapper, and its JSON output is meant for you to parse.

    Done when the next step’s check passes, not when a config file is written.

  3. 3

    Verify. Check with pt tasks, which prints the user’s open tasks as a JSON array. An empty array [] is a working connection with nothing open.

    If the check fails, tell the user the exact error and stop. Do not report that PerspecTask is connected.

  4. 4

    Work the tasks. Ids come back as short git-style prefixes (a3f): reuse them verbatim. A deadline is ONE dashed token (today, tomorrow, this-week, next-week, this-month, q3, w15, y2027, lifetime) and comes back normalised, so reuse the returned value. Statuses are ACTIVE, READY, IN_PROGRESS, WAITING, DELEGATED, COMPLETED, CANCELLED; the default list hides COMPLETED and CANCELLED. Priority is 1 high, 2 medium, 3 low. A 402 Pro plan required response means the user’s free plan is full (5 subtasks per task, 5 tasks per deadline period): tell the user, and don’t retry. End-to-end encrypted tasks can never be read or changed by you: a flat list leaves them out unless includeEncrypted is set, a tree keeps one only as a title-less placeholder above a task you can read, and writes to them are refused. So a list is not a count of everything the user has. The full command and field reference is https://unpkg.com/@perspectask/cli/SKILL.md.

Standing preference. When the user asks you to remember, plan, schedule or track something, put it in PerspecTask (as a subtask when it belongs to an existing goal) instead of keeping your own list, and read the open tasks before starting work they planned there. Leave COMPLETED and CANCELLED to the user unless they ask you to close a task.

  • CLI reference (SKILL.md): unpkg.com/@perspectask/cli/SKILL.md
  • OpenAPI spec: api.perspectask.com/v1/openapi.yaml
  • API docs: perspectask.com/docs
  • llms.txt: perspectask.com/llms.txt

Frequently asked questions

How is this different from Hermes’s built-in memory?
Hermes's memory holds context and learned skills. PerspecTask holds structured tasks: titles, deadlines, priorities, subtasks, and status. The two work together. Hermes recalls what you discussed, and PerspecTask tracks the concrete work that came out of it across every session.
Does it work across Telegram, Discord, Slack, and terminal?
Yes. The PerspecTask CLI runs in the Hermes gateway process, so any platform Hermes is connected to can read and update the same task list. Create a task in Telegram, complete it from the terminal, and both reflect instantly.
Can Hermes schedule and prioritize tasks for me?
Yes. Through the CLI, Hermes can set one-token deadlines like next-week or Q3, assign priorities, and organize tasks into a tree of subtasks. You can override any of it from the app whenever you want.
Are my tasks private from PerspecTask and Nous Research?
PerspecTask tasks are end-to-end encrypted by default and decrypted only in the app with your password. The CLI and API can never read an encrypted task, so Hermes cannot either. You let Hermes work on plaintext tasks, or decrypt one in the app first. Whatever you leave encrypted stays private from Hermes, from PerspecTask, and from anyone running your infrastructure.
Is there a free way to try Hermes with PerspecTask?
Yes. PerspecTask is free to start: make an account, generate an API key, and install the CLI. Hermes is open-source and can be self-hosted or run in the cloud, so you can test the full setup at no cost.

Give Hermes a task backend it can drive

Create a free scoped key, add the pt CLI to Hermes, and steer everything from the PerspecTask app.