Agent skill

First Task

by NousResearch in NousResearch/hermes-agent

Run the first task chat that setup hands off. An agent skill from NousResearch/hermes-agent.

MITAuto-check passed

Install First Task

skills CLI
$ npx skills add NousResearch/hermes-agent --skill first-task -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NousResearch/hermes-agent first-task --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/productivity/first-task .claude/skills/first-task && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
first-task
GitHub stars
252k
Token cost
~2.5k tokens
SKILL.md length
1,508 words
Files
1
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

Run the first task chat that setup hands off. An agent skill from NousResearch/hermes-agent.

  • Works in 7 steps: Connect first → First move for each ask → When a connect or an install fails → …
  • SKILL.md covers When to Use, Prerequisites, How to Run and Quick Reference, plus 3 more sections
  • Calls winget, gh and brew

What it does

First Task is an agent skill from NousResearch/hermes-agent. Run the first task chat that setup hands off.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: The agent that grows with you. The licence is MIT.

Example prompts

  • “/first-task”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Connect first
  2. First move for each ask
  3. When a connect or an install fails
  4. Machine setup
  5. Automations
  6. Build rules
  7. Close the first slice

What it can do on your machine

Read from SKILL.md and the folder at commit 2966cb6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • winget
    • gh
    • brew
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

First Task loads about 2.5k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 1,508 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~14
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from NousResearch/hermes-agent at commit 2966cb6, republished under its MIT licence (© NousResearch). 1,508 words, ~2,453 tokens.

Download SKILL.mdSave it as .claude/skills/first-task/SKILL.md (or your agent's skills folder).
name
first-task
description
Run the first task chat that setup hands off.
version
0.3.0
author
Siddharth Balyan (alt-glitch) + Hermes Agent
license
MIT
platforms
linux, macos, windows

First Task Skill

Runs the first chat after setup. This message holds the user's ask, then "What setup learned about me" (their picks and the machine basics), then these rules and a JSON block. Goal: visible work within one minute, a finished, useful result within five.

When to Use

  • This message carries the skill under a handoff from setup.
  • Until the first result lands. After that it is a normal chat.

Prerequisites

Tools: manage_connections, manage_catalog, clarify, terminal, the file tools, the browser, tool_search, skill_view, and desktop_preview in the desktop app. A tool named here but missing from your tool list, often manage_catalog, is deferred: run it through tool_call, never by its bare name.

How to Run

Obey these limits. They win over every other line.

  1. Your first reply is one short line of text and a tool call, in the same reply.
  2. The JSON block holds connect (connector ids) and install (plugin ids). The ids are exact. Run the forms below directly, with no search, describe or status step first.
  3. A check is any read-only command (ls, which, find, cat, a probe) or a file read. At most 2 checks before you make something. Put several checks in one command.
  4. Never search the whole disk (find /) and never read files outside the task's folder. "What setup learned" is the survey.
  5. At most one question before work, and only for a vague ask.
  6. Never run the same call twice. Change a failed call once. If it fails again, say so and go on.
  7. Every first slice makes a thing: a file, a page in the preview, an install, or a brief from real data. A chat summary of what you looked at is not a result.
  8. Every first slice ends with the close card, copied exactly from the Quick Reference, also after a failure.
  9. Say plainly what failed and what you did not test. Never mock or invent data.

Quick Reference

StepWhatCall
1One line on what you start withnone
2Connect the picked appsmanage_connections connect, every id in connect, once
3Install the picked pluginsmanage_catalog install (through tool_call when deferred), every id in install, once
4Specific ask: start it. Vague ask: one card, three optionsclarify
5The first slice, finished in five minutesthe task's own tools
6One line on the result, then the close cardclarify, close card below
manage_connections  {"action":"connect","connectors":["<id>", ...]}
manage_catalog      {"action":"install","items":[{"kind":"plugin","id":"<id>"}, ...],"reason":"<one line>"}
tool_call           {"calls":[{"name":"manage_catalog","arguments":{"action":"install","items":[{"kind":"plugin","id":"<id>"}],"reason":"<one line>"}}]}   (when manage_catalog is deferred)
clarify             {"questions":[{"question":"<short question>","choices":["<option>","<option>","<option>"]}]}
close card          {"questions":[{"question":"How does this look?","choices":["Looks right","Change something","Take it further"]}]}

Put one entry in calls for each tool_call. Copy the close card exactly: never rename, add or mark a choice. Your next-step idea goes in the text line.

Procedure

1. Connect first

Run steps 2 and 3 back to back, right after your first line. Skip a step whose list is empty.

Each step runs once. Never redo an earlier step. The connect card's answer is final for this chat: use the apps that connected, and never connect or ask about the others again. An app left unconnected after Continue counts as skipped. Say once, at the close, that they can connect the rest later from the Connections menu.

2. First move for each ask
AskFirst move
A daily brief / work appsConnect. Find the connected apps' tools with tool_search, then write the brief in the chat. None connected: section 3.
Set up this computer / install appsOne clarify app card, then section 4.
Make something in a plugin app (Blender)Install. Then skill_view the plugin's skill by its id and build one small thing. Install not connected: section 3.
Automate something / a scriptSection 5. If the ask names no task, one card first: "Rename my screenshots by date", "Sort my Downloads by type", "Clear old files off my Desktop".
Vague ("I have something in mind", "Let's figure it out")One clarify card with three options from the list below. Then start the pick.

Options for a vague ask. Each one makes a thing in five minutes. Name only apps they picked. Never offer "find", "review", "audit" or "clean up my <app>": these make a survey, not a thing.

  • Work apps picked: "A daily brief from Linear and Slack", "A summary of my week".
  • An NVIDIA or Spark machine: "Install a few apps for this <machine>", with the word setup's "This …:" line uses for it (Spark, PC, Mac).
  • A plugin picked: "A simple scene in Blender".
  • Otherwise: "A small HTML page about <something they picked or said>", "A start page with links to my apps", "A quick script that tidies my Downloads".

The first option always makes a page or a file. Text they type instead of a choice is the pick. If they answer "surprise me", "idk" or "any", start the first option now: write the file and open it, with no checks first.

3. When a connect or an install fails

Do not stop with nothing.

  1. No app connected, for a brief: say so in one line. Run one check, gh auth status. If it is logged in, write a brief from GitHub (open PRs, review requests, assigned issues) and say it comes from GitHub. If not, make a start page or a script that needs no account.
  2. An install whose state is not connected, or that errors: say so in one line. Do not look for the plugin on disk, read its source or write your own client. Make the nearest thing without it. For Blender: write ~/hermes-first-task/first_scene.py, a script that builds the scene, and give the command blender --python <path>.
  3. End with the close card. Offer to try again in the text line.
Show full SKILL.md (579 more words)Show less
4. Machine setup

Use the commands for the OS in the "What setup learned" line.

  1. One clarify app card: three to five everyday apps that fit their use, multi-pick.
  2. Check 1, one command. macOS: which brew && ls -d "/Applications/Slack.app" "/Applications/Zoom.app" 2>&1. Windows: winget list --accept-source-agreements. Linux: which <app> ..., plus flatpak list when flatpak is there.
  3. Install only the picks the check did not find, one app per command. macOS: brew install --cask <app>. Windows: winget install --id <id> -e --source winget --accept-source-agreements --accept-package-agreements (a fresh profile otherwise stops at an agreements prompt the terminal cannot answer). Linux: flatpak install -y flathub <id>; a package that needs sudo goes on the list in step 5 instead. Say "already installed" for the others. Never reinstall.
  4. On Arm, after the installs, say when an app is x64 only. macOS: one lipo -archs command for the new apps. Windows: read the architecture winget reports for the installer it picked in the install output (arm64, or x64 under emulation); do not infer it from the manifest.
  5. List for them anything that needs a password, a licence or a payment. Never disable security settings.
  6. One line on what changed and the next slice (developer tools, drivers), then the close card.
5. Automations
  1. Write the script at once with write_file in ~/hermes-first-task/. No checks first.
  2. By default the script only prints what it would do. A flag such as --apply makes the changes.
  3. Run it once in preview mode on the real folder, for example python3 ~/hermes-first-task/tidy_downloads.py ~/Downloads, and show the output. If you could not run it, say it is untested.
  4. If the folder is missing or empty, say so. Never make test files or test folders (mkdir, touch, SetFile).
  5. Give the one command that does it for real. Set up no recurring job unless they asked.
6. Build rules
  • Real data only: from connected apps or tools signed in on this computer, such as a logged-in gh (say so). Never route around a connector: no IMAP, app password or scraping.
  • Ask before sending, deleting or scheduling anything.
  • A local model is set up by the app, not by you: point to Run locally in the model menu, or Settings, Providers, Local Models. Never install a model runtime or download a model yourself.
  • A generated page is one self-contained HTML file, opened with desktop_preview.
  • Save every new file in ~/hermes-first-task/, never in the current folder. Do not copy files around. Say where each file is.
  • Find a plugin's tools with tool_search after the install. If its app is not running, say so.
  • Cut a big ask to a first slice and say so in one line. A long step (a large download, a full build) is never the first slice.
  • New to AI agent apps: explain a feature in one plain sentence when it first matters. Say once that you ask for permission and they can say no.
7. Close the first slice

One short line on what you made and where it is, then the close card. Act on the pick.

Pitfalls

  • A chat report in place of a file, a page or an install.
  • Stiff words: write short, plain, warm sentences, with no filler, em dashes or exclamation marks.

Verification

  • The first reply is one line of text and a tool call. Only a vague ask got a card.
  • The first slice ends with the exact close card, also after a failure.

© NousResearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in optional-skills/productivity/first-task of NousResearch/hermes-agent.

Open the folder on GitHubat commit 2966cb6

Compare with similar skills

First Task next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

First Task compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
First Task this skillNousResearch/hermes-agent252k—~2.5kAutomated safety check: PassMIT
Hand Drawn Diagramsnexu-io/open-design100k—~336Automated safety check: PassApache-2.0
Hand Drawnthreerocks/hand-drawn-styles1.6k—~406Automated safety check: PassMIT
Twitter Hand SkillRightNow-AI/openfang18k—~2.9kAutomated safety check: PassApache-2.0
All Hands Deckmohitagw15856/pm-claude-skills1.4k—~1.5kAutomated safety check: PassMIT
Hand Tracking Toolkitwu-yc/LabClaw1.1k1 repos~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Hand Drawn Diagrams

    nexu-io/open-design

    Generate hand-drawn Excalidraw diagrams from a prompt — animated SVG, hosted edit link, and PNG export.

    100k GitHub stars~336 tokensUpdated today
    DevelopmentAuto-check passed
  • Hand Drawn

    threerocks/hand-drawn-styles

    A skill your agent uses when users ask for a hand-drawn or illustrated image prompt, name one of the repository's 21 numbered styles or the 3.1 stable variant, or mention triggers such as…

    1.6k GitHub stars~406 tokensUpdated today
    Legal & ComplianceAuto-check passed
  • Twitter Hand Skill

    RightNow-AI/openfang

    Expert knowledge for AI Twitter/X management — API v2 reference, content strategy, engagement playbook, safety, and performance tracking

    18k GitHub stars~2.9k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed
  • All Hands Deck

    mohitagw15856/pm-claude-skills

    Build an all-hands that lands with everyone from intern to VP — the mixed-altitude structure (the story for all, the numbers for some), the wins-with-names section done right, the hard-news slide…

    1.4k GitHub stars~1.5k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Facebook Research Hand Tracking Challenge Toolkit - evaluation and visualization tools for 3D hand tracking.

    1.1k GitHub starsUsed in 1 repo~1.3k tokens
    Data & AnalyticsAuto-check passed
  • Hands 3D Pose

    wu-yc/LabClaw

    High-quality 3D hand pose estimation for egocentric videos from ECCV 2024 (ap229997/hands).

    1.1k GitHub starsUsed in 1 repo~4.2k tokens
    Research & ScienceAuto-check passed

More from NousResearch/hermes-agent

All 32 skills in this repo
  • Google Workspace

    NousResearch/hermes-agent

    Gmail, Calendar, Drive, Docs, Sheets via gws CLI or Python. An agent skill from NousResearch/hermes-agent.

    252k GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check passed
  • AI Presenter Video

    NousResearch/hermes-agent

    Produces a presenter-led video from a topic or script plus one authorized presenter image, with captions, lip-sync checks and acceptance reports.

    252k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Word DOCX Toolkit

    NousResearch/hermes-agent

    Creates, reads, edits and templates Word .docx files with python-docx scripts, including tracked changes, comments, tables of contents and health checks.

    252k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Grounded Citations

    NousResearch/hermes-agent

    Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.

    252k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • PDF

    NousResearch/hermes-agent

    PDF files: create, read, merge, fill, OCR, edit text. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Scrollcraft

    NousResearch/hermes-agent

    Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~3k tokensUpdated today
    Auto-check passed

Questions about First Task

What does First Task do?

Run the first task chat that setup hands off. An agent skill from NousResearch/hermes-agent. First Task is an agent skill from NousResearch/hermes-agent. Run the first task chat that setup hands off.

How do I install First Task in Claude Code?

Run `npx skills add NousResearch/hermes-agent --skill first-task -a claude-code`. Or copy the skill folder (optional-skills/productivity/first-task in NousResearch/hermes-agent) into .claude/skills/first-task in your project. Claude Code loads it when a task matches its description.

How do I install First Task in Codex?

Run `npx skills add NousResearch/hermes-agent --skill first-task -a codex`. Or copy the skill folder (optional-skills/productivity/first-task in NousResearch/hermes-agent) into .agents/skills/first-task in your project. Codex loads it when a task matches its description.

Can I use First Task in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NousResearch/hermes-agent --skill first-task -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/first-task, .gemini/skills/first-task, .github/skills/first-task and .opencode/skills/first-task in your project.

What does First Task need to run?

Going by SKILL.md and its folder, First Task needs the command-line tools its instructions call (winget, gh, brew and python3). Our summary lists: Python 3.

Does First Task access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is First Task safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does First Task use?

First Task is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does First Task use?

About 2.5k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to First Task?

Skills that share tags, products or a category with First Task: Hand Drawn Diagrams (nexu-io/open-design, 100k stars), Hand Drawn (threerocks/hand-drawn-styles, 1.6k stars), Twitter Hand Skill (RightNow-AI/openfang, 18k stars) and All Hands Deck (mohitagw15856/pm-claude-skills, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains First Task?

NousResearch (a GitHub organization) maintains it in NousResearch/hermes-agent, which has 251,991 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.

Source: NousResearch/hermes-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.