Automate me
A guided flow for turning the user's working conventions into a skill agents will follow. The output is one -mode skill tailored to them (e.g. jay-mode, priya-mode).
This skill orchestrates three others: an inline mining pass (see step 1), the authoring-a-skill playbook (skill://poteto-mode/playbooks/authoring-a-skill.md, with omp://skills.md for the format), and the unslop skill (skill://unslop, prose discipline). It sequences them. It doesn't replace them.
Flow
0. Check for an existing skill
Look for <ancestor>/.omp/skills/*-mode/SKILL.md from the working directory up to the repo root, and ~/.omp/agent/skills/*-mode/SKILL.md, matching the user's handle. OMP discovers skills one level under skills/ only, so a mode skill in a nested category directory is never loaded. If one exists, confirm intent with the ask tool (unless they already said "update my skill" or similar):
- Update the existing skill (default for repeat runs)
- Start fresh (rare, ask why before doing it)
Update mode changes the rest of the flow:
- Step 1 mines only history since the skill was last edited (
git log -1 --format=%cI <path>). - Step 2 asks what's changed or missing, not what to capture from zero.
- Step 4 edits the existing file in place. Preserve sections the user hasn't contradicted. Revise ones with new evidence. Add new sections only for genuinely new rules.
1. Mine their history
Scope the mining to the current project before fanning out. Read history through the archive eval prelude with its default project scope. Don't pass project: "*". That crosses project boundaries and reads private sessions from unrelated work. Prompt history holds prompts the user typed into the interactive editor, and archive.sessions lists sessions with titles and recaps. A session's file is raw JSONL.
Survey recent sessions within that scope for recurring patterns. Run multiple parallel scout subagents across slices of history (e.g. last 2-4 weeks, split into 3 slices so each has enough material). Pick the agent for the role it plays, per the Delegation section of the poteto-mode skill (skill://poteto-mode). Each slice mining subagent reads the sessions in the project-scoped slice the parent provides, looks for the signals below, and returns a short structured list of patterns it saw with evidence pointers. Default signals worth hunting:
- Response preferences (length, tone, format, "dumb it down" corrections)
- Delegation habits (subagents, models, specialized workflows, parallelism)
- Verification posture (what "done" means, unit tests vs live repro, reviewers)
- Code and prose discipline (style, principles cited, lint/format tools)
- Process conventions (worktrees, commits, PRs, review/merge tooling)
- Meta preferences (fixing skills mid-task, proposing new ones)
Cross-check across slices before elevating a signal. Patterns seen in 2+ slices are high-confidence. Lone signals are weak and usually get dropped.
2. Ask the user directly
Mining misses intent that hasn't come up yet. Use the ask tool (structured multi-choice) rather than asking the user to type from scratch.
Shape: one or two questions with 4-6 options each, multi: true for category questions. Start broad ("Which areas matter most?"), then follow up on selected areas with specific options. After the structured rounds, one free-form chat question catches anything the options missed.
Don't dump 20 questions.
3. Cluster findings
Group the combined signals into sections. Common ones (use only what applies):
- Response style: length, tone, format.
- Autonomy: how much to do without asking, MCP tool use.
- Understand first: which skills to reach for when scoping or investigating a change.
- Subagents: default, parallelism, model-to-task, specialized workflows.
- Prose / code discipline: principles, lint tools, style guides.
- Review and verify: repro posture, verification skills, live-testing tools.
- Process: git worktrees, commits, PRs, review/merge tooling.
- Skills: skill-authoring habits, fix-the-skill-first, proposing new skills.
The poteto-mode skill shows the shape. Read it for granularity. Don't copy its content. The user's rules are not the same as poteto-mode's.
4. Draft the skill
Follow the authoring-a-skill playbook and omp://skills.md to author the skill. Placement:
- Path: for a new mode, use
.omp/skills/<handle>-mode/SKILL.mdin the project, or~/.omp/agent/skills/<handle>-mode/SKILL.mdif the user prefers a personal skill. Keep the skill one level underskills/. Preserve the location of an existing mode skill. - Handle: the user's first name or chosen identifier.
- Frontmatter
name: the kebab-case directory name,<handle>-mode. - Frontmatter
description: trigger on their name +/skill:<handle>-mode+ "work in their style", not on generic keywords like "write code" or "review PR". - Frontmatter formatting: keep
descriptionas one YAML scalar. Quote it or usedescription: >-with indented continuation lines when punctuation or wrapping requires it. - Frontmatter
disable-model-invocation: trueby default. Opt out only if the user explicitly wants their mode to apply on every turn.
5. Iterate on prose
Apply the unslop skill and the playbook's writing guidance to every line.
Show the draft to the user and take feedback. Expect multiple iterations. Cut ruthlessly. A mode skill is not a manual.
6. Land it
Work in a worktree off main. Commit and open a PR. Don't push to main directly.
Guardrails
- Don't overfit to one conversation. A preference stated once and contradicted another time is noise. Require multiple instances before codifying it.
- Don't be clever. Restating other skills' contents, inventing metaphors, or writing "poetic" prose for an agent reader is cost without benefit. Keep it operational.
- Reference, don't inline. Other skills the user relies on should appear as path references, not pasted excerpts. Same for any principle docs they maintain elsewhere.
- Keep sections minimal. Only add a section if the user has a specific, non-default rule there. "Communicate clearly" is not a section. "Short paragraphs. Tables when comparing options. Bullets only when items are genuinely parallel." is.
- Name conventions generic. Use "the user" or "the human" in imperatives, not the author's first name.
- Don't force symmetry. If a user has no process rules worth writing down, skip the Process section entirely.
Evaluation
A -mode skill is subjective output. A test/iterate benchmark loop isn't useful here. Vibe-check with the user: does it read like them? Did it miss anything? Then ship.
Run a description-optimization loop only if the skill's trigger accuracy turns out to be a problem in practice.
When not to use
- User wants a task-specific skill (not working conventions): the authoring-a-skill playbook alone, no mining required.
- User wants to capture one narrow workflow (e.g. "how I write commit messages"). That's a regular skill, not a mode skill.


