CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

writing-for-routine

Use when writing the unattended night prompt for a routine after grilling-for-routine, when freezing a deterministic step into a Fixed-step Skill, or when the night prompt needs steps and a done-when.

59

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/writing-for-routine/SKILL.md
SKILL.md
Quality
Evals
Security

writing-for-routine

Use this craft with an internal teammate. Write prompt.md and, when the grill freezes a step, the Fixed-step Skill. This file is the single home for that craft. The local session page is dora session open. It reads Claude, Grok, Cursor, Codex, Copilot, and Gemini CLI logs. The site shows two example traces until a folder is chosen. It is not a night prompt.

dora wire --for claude --run records the request the model received. It is not a night prompt. Logs stay in ~/.doraval/wire/.

Shape

Write numbered steps. Each step has a done-when. The night agent can tell finished from not finished.

A done-when is a checkable bound. The agent can see it is true or false.

Write in imperative. Do not assign a second-person identity.

Do not use em dashes.

Keep each rule in one home. Do not repeat the same rule in two files.

Do not name a prompt step Judgment. Judgment is a Dora Finding.

When extra detail is not needed every run, put it in a later file and point at it. Keep this page short.

The prompt is for an unattended pass. It is not a human chat.

prompt.md

Keep the steps that need a new decision. Name the Fixed-step Skill. Do not repeat the frozen steps.

Apply stamps Sent by pocket agent <slug> on the GitHub review and Slack post. Dora also appends that instruction to the Hermes prompt. Do not write the footer in prompt.md.

Run handoff

A Run has no last chat. Hermes starts a new session. The next Run reads what this Run wrote.

Prefer the destination as the store. Search it before a create. Skip when the thing already exists (calendar event, issue, post). GitHub approve is already safe.

If the destination cannot tell, use one file after save: ~/.dora/harness/<slug>/handoff.md. Start: read it. Missing file means first Run. End: overwrite it. Do not append.

last_ts: 1722614400.000100
did: calendar:abc123 OOO Aug 2-9
next: after last_ts

Do not use Hermes notepad with the slug. Do not put a cursor in MEMORY.md.

Fixed-step Skill

Same craft: steps and a done-when. No second-person identity. No em dashes.

A Skill script is optional. If one exists, it lives inside that Skill. Name the helper file in SKILL.md. Local work only. The routine has no top-level scripts directory. Do not use Hermes --script or --no-agent. Apply does not overwrite this copy.

Secrets live in the routine folder (~/.dora/harness/<slug>/.env). Do not put secrets in SKILL.md or prompt.md.

Steps

  1. Read the grill answers. Use the gate. Do not invent a slug, a connector, or a skill. Done-when: the gate is in the prompt, and no invented name is present.
  2. Write prompt.md as numbered decision steps. Name any Fixed-step Skill. Do not repeat frozen steps. Done-when: every step has a done-when, and frozen steps are not copied here.
  3. If the grill froze a step, write that Skill in the temp folder. Optional Skill script inside the Skill. Done-when: the Skill has steps, a done-when, and names any helper file.
  4. Check both files: no second-person identity, no em dashes, every step has a done-when, no Judgment as a step name. Done-when: those checks pass.
  5. Hand both files back to grilling-for-routine for the one pass. Done-when: grilling-for-routine has the prompt file and any Skill draft.
1. Poll the source named in the gate.
   Done-when: new items since the last run are listed, or the list is empty.
2. Skip an item when the action is already true in the destination.
   Done-when: each item is new or skipped with a reason.
3. Apply the action named in the gate to each new item.
   Done-when: each item is handled or skipped with a reason.

When the destination cannot tell, add a first step that reads handoff.md and a last step that overwrites it.

MUST write steps and a done-when. MUST write prompt.md and the Fixed-step Skill when a step is frozen. MUST NOT put a Skill script next to prompt.md. MUST NOT add a top-level scripts directory. MUST NOT use Hermes --script or --no-agent. MUST NOT assign a second-person identity. MUST NOT use em dashes. MUST NOT name a prompt step Judgment. MUST NOT write the pocket-agent footer in prompt.md. MUST write a skip step when the action creates something. MUST start the night prompt by reading handoff.md only when the destination cannot tell. MUST end that night prompt by overwriting handoff.md. Do not append. MUST NOT rely on Hermes chat memory between runs.

Repository

saif-shines/doraval

Path

skills/writing-for-routine/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.