Skip to content
Agentmart
Submit a tool

pstack-omp

OMP adapter for poteto-mode.

Skill by dsebban

IndexedMIT★ 68
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/dsebban-pstack-omp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

OMP adapter for poteto-mode. Maps canonical pstack roles and lifecycle protocols to current OMP task agents, batching, isolation, agent:// follow-ups, and durable result resources.

Use cases: productivity, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/pstack-omp

What's inside

Skill name
pstack-omp
Description
OMP adapter for poteto-mode. Maps canonical pstack roles and lifecycle protocols to current OMP task agents, batching, isolation, agent:// follow-ups, and durable result resources.
License
MIT
Instructions
248 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# pstack on OMP

`poteto-mode` is the sole router. It selects the playbook, canonical role, step order, and lifecycle protocol. This adapter translates those choices to OMP only. It never selects a playbook, repeats the playbook index, or changes a playbook gate.

While this skill is active, its role map is the specific pstack execution contract. Generic OMP instructions remain valid outside pstack work.

## Canonical role map

Use these exact OMP agent names.

| Canonical role | OMP agent |
|---|---|
| `explorer` | `scout` |
| `watcher` | `scout` |
| `planner` | `task` |
| `designer` | `task` |
| `reviewer` | `reviewer` |
| `researcher` | `librarian` |
| `synthesizer` | `reviewer` |
| `implementer` | `poteto-agent` |
| `owner` | `poteto-agent` |
| `mechanical` | `sonic` |

Role responsibilities live in `skill://poteto-mode`. This table only names the agent.

The canonical OMP roster is closed:

```text
scout
reviewer
security-reviewer
librarian
task
sonic
poteto-agent
comment-sicko
seance
```

A canonically routed task item's `agent` value must be one of those bundled names. Canonical role labels and model aliases are not agent names. `task` is the default worker, so omit `agent` for it.

`poteto-agent` runs `implementer` and `owner` work in poteto's style. `comment-sicko` audits comments for imported skills that name it directly.

### Planning and design

The imported warning about a built-in planning subagent describes a source-host mechanism that bypassed the skill contract. This OMP version has no bundled `plan` agent and no `designer` agent. Canonical `planner` and `designer` work uses `task`. The brief carries the specialization, such as technical planning or visual and interaction design, and no source-host subagent fields.

### Security review

Use `security-reviewer` for an independent security lane. Keep it read-only and separate from ordinary code review when both are required. A later `reviewer` session may synthesize frozen reports; it does not replace the primary security review.

## Task contract

The root performs every `task` call. A child never calls `task`, starts another child, or asks the user directly. Put `Do not call task or start subagents` under `FORBIDDEN` in every child brief. `task.maxRecursionDepth` permits nesting, so the brief is what keeps the tree flat, not the host.

Children start without the parent conversation. Every prompt must stand alone. They receive the configured workspace, context files, skills, and approved plan resources supplied by OMP.

### Call shape

One `task` call is a batch. `context` is shared immutable background rendered into every child's system prompt; `tasks[]` carries the participants. A single dispatch is a one-item batch, not a different schema.

```json
{
  "context": "Repository root, base SHA, frozen artifacts, constraints, and verification context shared by every item.",
  "tasks": [
    {
      "name": "ParserOverflowFix",
      "solutionSpace": "one fix: bounds check in parse_header, call site given",
      "task": "GOAL\n...\n\nROLE\n...\n\nSCOPE\n...\n\nCONTEXT\n...\n\nACCEPTANCE\n...\n\nVERIFY\n...\n\nTIMEBOX\n...\n\nFORBIDDEN\n...\n\nREPORT\n...\n\nSTANDING\n..."
    }
  ]
}
```

Required per item: `task` and `solutionSpace`. `solutionSpace` states how open-ended the child's problem is, not how much work it is: whether the fix is given, or which causes and designs remain open. It never mentions sibling items or coordination.

`name` is CamelCase, at most 32 characters, unique within the call. It becomes the child's `agent://` identifier, so choose a name the root can still recognize an hour later.

Optional fields exist only when their setting is on. Check before writing one:

- `isolated` requires `task.isolation.enabled` and no plan mode. Use it for a writer that needs a dedicated worktree, then verify the patch, branch, or applied change OMP reports. A long-lived owner that must accept follow-ups in the same workspace stays non-isolated.
- `effort` (`lo`, `med`, `hi`) requires `task.enableEffort`. When it is off, reasoning depth comes from the agent's configured model role, not from the call.
- `outputSchema` and `schemaMode` require `task.structured`.
- `tools` exposes eval-defined tools to the child.

Never put a `model` field in a task item. OMP has none.

Keep briefs short and route bulk through `local://<name>.md`, which parent and children share. Do not paste a large payload inline.

### Batched panel

Use one batch call for independent participants:

```json
{
  "context": "Shared immutable repository, base SHA, artifacts, constraints, and verification context.",
  "tasks": [
    {
      "name": "CandidateA",
      "solutionSpace": "architecture open; candidate A explores the event-sourced shape",
      "task": "Standalone brief for architecture candidate A."
    },
    {
      "name": "CandidateB",
      "solutionSpace": "architecture open; candidate B explores the state-machine shape",
      "task": "Standalone brief for architecture candidate B."
    }
  ]
}
```

Each `name` is unique. `context` contains common immutable material. Each item still names its exact role, slice, acceptance criteria, verification, forbidden work, and report contract.

Start every participant in one batch before consuming any verdict. Separate writers with isolated workspaces or disjoint output paths. Freeze candidate artifacts before starting reviewers. Freeze reviewer reports before starting a separate synthesizer session.

`task.maxConcurrency` caps simultaneous children at 32 by default; a larger batch queues rather than failing.

### Background completion and follow-ups

From dsebban/skills, MIT.

More from dsebban/skills

Signals

Stars
68
Forks
6
Open issues
1
Last commit (this folder)
Oct 20, 2026 (8 days ago)
Last release
Oct 20, 2026 (8 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from dsebban

Cite this page

pstack-omp skill. Agent Mart. https://agentmart.dev/skills/dsebban-pstack-omp (last updated 2026-10-24)