agentleFS
bnemabnema/pi-pstack/skills/automate-me/SKILL.md

automate-me

Skill2 starsChanged 3 months agoMITView on GitHub

Drafts or revises a personal mode skill from working conventions, recent Pi sessions, and direct preferences. Use for automate me, create or update my mode skill, capture my working style, or wanting agents to follow how the user works.

We split this skill into the rules it gives an agent

11 rules. 8 are common, 2 are distinctive, and 1 is very specific to this project.

  • 8

    Common

    Most of the 42 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Look for *-mode/SKILL.md matching the user's handle under the project's .pi/skills/ or ~/.pi/agent/skills/.

    line 17
  2. Common:

    Update the existing skill (default for repeat runs)

    line 19
  3. Common:

    Start fresh (rare; ask why before doing it)

    line 20
  4. Common:

    Update mode changes the rest of the flow:

    line 22
  5. Distinctive:

    Don't dump 20 questions. Two structured rounds plus one open question is usually enough.

    line 48
  6. Common:

    Subagents: default, parallelism, model-to-task, specialized workflows.

    line 57
  7. Distinctive:

    Use Pi's skill-authoring workflow to author the skill.

    line 67
  8. Common:

    Keep sections minimal: Only add a section if the user has a specific, non-default rule there.

    line 90
  9. Common:

    Name conventions generic: Use "the user" or "the human" in imperatives, not the author's first name.

    line 91
  10. Common:

    Don't force symmetry: If a user has no process rules worth writing down, skip the Process section entirely.

    line 92
  11. Common:

    Run a description-optimization loop only if the skill's trigger accuracy turns out to be a problem in practice.

    line 98

“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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), Pi's skill-authoring workflow (authoring), and the unslop skill (prose discipline). It sequences them; it doesn't replace them.

Flow

0. Check for an existing skill

Look for *-mode/SKILL.md matching the user's handle under the project's .pi/skills/ or ~/.pi/agent/skills/. If one exists, confirm intent with the available structured question 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

Resolve the active session through PI_SESSION_FILE. Use only sibling JSONL sessions from its parent directory. Do not scan other directories under ~/.pi/agent/sessions/; that crosses workspace boundaries and may read private chats from unrelated projects.

Survey recent sessions within that scope for recurring patterns. For a large corpus, call pstack_task once with several disjoint time slices. Each child reads only its assigned session paths, looks for the signals below, and returns a short structured list 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 available structured question tool (structured multi-choice) rather than asking the user to type from scratch. Lower cognitive load, higher hit rate.

Shape: one or two questions with 4-6 options each, allow_multiple: 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. Two structured rounds plus one open question is usually enough.

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

Use Pi's skill-authoring workflow to author the skill. Placement:

  • Path: .pi/skills/<handle>-mode/SKILL.md in the project (or ~/.pi/agent/skills/<handle>-mode/ if the user prefers a personal skill).
  • Handle: the user's first name or chosen identifier.
  • Frontmatter description: trigger on their name + /<handle>-mode + "work in their style", not on generic keywords like "write code" or "review PR".
  • Frontmatter formatting: follow Pi's docs/skills.md rules. Keep description as one YAML scalar; quote it or use description: >- with indented continuation lines when punctuation or wrapping requires it.
  • Frontmatter disable-model-invocation: true by default. Mode skills are heavy and opinionated; they should only apply when the user explicitly invokes them (by name or slash command), not auto-trigger on description matching. Opt out only if the user explicitly wants their mode to apply on every turn.

5. Iterate on prose

Apply the unslop skill and Pi's skill-writing guidelines to every line. Both apply to any agent-read prose, not just skills.

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 so the user can review it. 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. Others may read or adopt the skill.
  • Don't force symmetry. If a user has no process rules worth writing down, skip the Process section entirely. Sparse is fine; bloated is not.

Evaluation

A -mode skill is subjective output. A generic benchmark loop is not 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: use Pi's skill-authoring workflow without transcript mining.
  • User wants to capture one narrow workflow (e.g. "how I write commit messages"): that's a regular skill, not a mode skill.

Reference files

  • The poteto-mode skill: example of the output shape.
  • The unslop skill: prose discipline for every line.
  • Pi's skill-authoring workflow: skill authoring process and writing guidelines.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.