计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
first-task【效率与协作】Run the first task chat that setup hands off.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
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.
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.
Obey these limits. They win over every other line.
connect (connector ids) and install (plugin ids). The ids are exact. Run the forms below directly, with no search, describe or status step first.ls, which, find, cat, a probe) or a file read. At most 2 checks before you make something. Put several checks in one command.find /) and never read files outside the task's folder. "What setup learned" is the survey.| Step | What | Call |
|---|---|---|
| 1 | One line on what you start with | none |
| 2 | Connect the picked apps | manage_connections connect, every id in connect, once |
| 3 | Install the picked plugins | manage_catalog install (through tool_call when deferred), every id in install, once |
| 4 | Specific ask: start it. Vague ask: one card, three options | clarify |
| 5 | The first slice, finished in five minutes | the task's own tools |
| 6 | One line on the result, then the close card | clarify, 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.
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.
| Ask | First move |
|---|---|
| A daily brief / work apps | Connect. Find the connected apps' tools with tool_search, then write the brief in the chat. None connected: section 3. |
| Set up this computer / install apps | One 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 script | Section 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 ": these make a survey, not a thing.
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.
Do not stop with nothing.
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.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>.Use the commands for the OS in the "What setup learned" line.
clarify app card: three to five everyday apps that fit their use, multi-pick.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.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.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.write_file in ~/hermes-first-task/. No checks first.--apply makes the changes.python3 ~/hermes-first-task/tidy_downloads.py ~/Downloads, and show the output. If you could not run it, say it is untested.mkdir, touch, SetFile).gh (say so). Never route around a connector: no IMAP, app password or scraping.desktop_preview.~/hermes-first-task/, never in the current folder. Do not copy files around. Say where each file is.tool_search after the install. If its app is not running, say so.One short line on what you made and where it is, then the close card. Act on the pick.