Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Setup Oh My Stack

ASecurity

Preview and configure pstack-style per-workflow models, review panels, and reasoning budget from the current runtime inventory.

2 stars
0 votes
0 copies
0 views
Added 10/1/2026
ai-agentsrustapibackenddocumentation

Works with

claude codecursorterminalapi

Security Analysis

A100/100

Scanned 10/1/2026

$npx -y skills add williamwue/oh-my-stack --skill setup-oh-my-stack --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Setup Oh My Stack?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Setup Oh My Stack
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/williamwue-setup-oh-my-stack/badge)](https://www.skillsdirectory.com/skills/williamwue-setup-oh-my-stack)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: setup-oh-my-stack
description: "Preview and configure pstack-style per-workflow models, review panels, and reasoning budget from the current runtime inventory."
disable-model-invocation: true
---

# Setup Oh My Stack

## Claude Code setup boundary

There is no complete read-only account model catalog in this adapter.
For the two-model setup, probe `sonnet` and `opus` only, using
`--claude-models sonnet,opus
--confirm-claude-probes`. Disclose usage and obtain approval first.
Haiku is optional only when the user wants it; do not add it to this
two-model mapping. Never probe Fable or arbitrary IDs through this path; some requests can
incur separate usage credits without a terminal consent prompt.
The probe observes canonical model IDs. Its effort list comes from
reviewed Claude Code documentation, not a live capability API; account
or organization caps may lower effective effort.

There is no static Claude pstack model preset. The observed Sonnet ID
may fill both `--fast` and `--balanced`; use the observed Opus ID for
`--deep`. For ordered three-worker panels, an Opus/Sonnet/Opus proposal
preserves three positions but only two model identities. It does not
establish three-model or cross-provider diversity. Preview every route
and panel before `--apply`.
Setup defaults to `--user` (`~/.claude/`, or the absolute
`CLAUDE_CONFIG_DIR` when set); `--project-root` writes a complete
project override and `--output` remains detached. Resolve the active
user directory before describing which configuration takes effect.
The setup auditor checks the manifest, hashes, effective scope, and
linked native child identity/model from parent and child records.
A project-local PreToolUse hook can additionally record the runtime's
effective effort through `scripts/claude-effort-hook.mjs`; pass that
JSONL with `--hook-record`. Use an isolated project and do not install a
diagnostic hook into the user's global settings. Without hook evidence,
treat child effort as unverified even when the agent file specifies it.

Use this workflow to give Oh My Stack opinionated, editable per-workflow model
choices without assuming Cursor model names work on another runtime.

## 1. Observe before selecting

Identify the active runtime surface. Locate this package's
`scripts/collect-model-inventory.mjs` and run it with a dedicated output path.
The collector calls the native inventory operation verified for the current
generated target and normalizes its live response. Do not reuse remembered
model names, examples from documentation, or an inventory from another runtime
surface.

The collector deliberately stops when a target has no verified observation.
If collection fails, report the exact missing observation; do not replace it
with a guessed model list.

The resulting JSON inventory contains:

- `schemaVersion: 1`;
- the target runtime identifier;
- the observation timestamp and exact inventory source;
- each observed model ID and its supported reasoning efforts, with the
  provenance of effort support stated for the target.

If the runtime cannot expose an inventory, stop before writing configuration.
Return the missing observation instead of guessing a model identifier.

Before applying, also inspect the live child-delegation tool and its agent/model
selection fields. A model inventory alone does not prove a child can use those
models. If this surface cannot delegate or cannot select the proposed route,
stop and report the capability gap; do not present a written mapping as active.

## 2. Preview a pstack-style mapping

Run `scripts/configure-models.mjs` without `--apply`, with the observed inventory
and the runtime's available pstack preset, if any. Where there is no preset,
choose `--fast`, `--balanced`, and `--deep` from observed IDs, then use route
and panel overrides where appropriate. Choose the target-supported user or
project scope; use `--output` for detached review. When an existing
configuration is present, inspect its effective scope before previewing changes.
The target-specific preset recommends separate choices for code, explanation,
judgment, and ordered review panels. The portable fallback still has three
workload classes:

- `fast` for narrow reconnaissance and mechanical work;
- `balanced` for routine implementation;
- `deep` for architecture, synthesis, and ambiguous judgment.

Show the proposed choice for every named route, including the *ordered* entries
for `arena.runners`, `arena.cross-judge-pool`, `architect.runners`, and
`interrogate.reviewers`. One panel entry means one intended worker; do not
silently add or remove entries. Ask for the user's reasoning budget:
`unlimited` (keep preset effort), `large` (target xhigh), `medium` (target high),
or `small` (target medium). The generated runtimes set every non-inherited
selection to that target, raising or lowering its preset or explicit effort.
When the model does not advertise the target, use its highest advertised effort
below the target; stop if none exists. The budget does not replace a model
family or change panel length. `--uniform-reasoning EFFORT` is an optional
explicit target override and requires every selected model to advertise that
exact effort; it cannot exceed the chosen budget target. A target that
preserves same-preset choices also keeps this explicit override on a re-run;
use `--uniform-reasoning preset` to return to the budget target.
Name this a reasoning setting, not a token or money spending limit. Show the
*effective* model and effort for every route after budget processing, explicitly
calling out any route that fell below the budget target because the model does
not support it. Do not call a mixed-effort table uniformly `medium`.
Show meaningful cost/provider tradeoffs before applying. The preset is a
recommendation, not a silent permission to spend on an expensive model.
For a target where effort is not configurable on one model, `none` denotes
no native effort override. It does not claim the model performs no reasoning.

Users may override a workload with `--fast`, `--balanced`, or `--deep`; a
canonical role with `--role ROLE=MODEL@REASONING`; one workflow slot with
`--route KEY=MODEL@REASONING`; or an ordered panel with
`--panel KEY=MODEL@REASONING,MODEL@REASONING`. `inherit-parent` and `auto`
are aliases that omit the native model override. A changed panel length changes
the intended fan-out. An unavailable preset model must be replaced by an
observed choice before applying; never guess a similarly named slug. Re-run
the preview with the user's selections.

## 3. Preview and apply safely

Inspect the preview's workload, role, route, and panel mappings. If only a
preview was requested, stop here. Otherwise rerun the same selections with
`--apply` after the user accepts the choices. The tool writes an owned
resolution manifest and target-native agent definitions. It refuses model IDs
or reasoning settings absent from the inventory, refuses to overwrite modified
or unowned files, and only prunes previously owned unchanged route agents when
a panel shrinks.

When the target supports user scope, prefer it for reusable defaults. This
writes only Oh My Stack's owned manifest and agent files; it does not edit the
runtime's other global settings. A project-specific manifest, when present,
takes precedence as a complete configuration. A project setup must not modify
the user default, and user setup must not modify existing project overrides.
Keep `--output` for detached review. Do not treat generated agents as proof of
native discovery.

After writing configuration files, use a fresh runtime session to verify the actual
route. Only call native role selection activated when the runtime selects the
named role. Otherwise pass the selected model and reasoning effort explicitly
at spawn time together with the complete role instructions and bounded task;
report this as explicit routing, not native role selection. For panels, verify
the number of spawned workers and their ordered, attributable model identities.
Check worker model and reasoning from runtime records, not configured files or
self-report. If records are unavailable, report resolution as unverified.
If a target's auditor cannot prove child effort from transcripts, keep child
model and effort as separate claims until a trustworthy observation exists.
Distinct configured IDs do not establish multi-model execution or distinct
provider backends.

Run `scripts/setup-acceptance.mjs --resolution <applied-manifest> --cwd <current-project>` after apply.
Read `effectiveConfiguration` before describing where the setup will be used.
If its `matchesAuditedResolution` is false, report the selected manifest path
and scope separately from the file just written. A user default may be saved
successfully while the current project continues to use its project override.
When no `--cwd` check was made, effective scope remains uninspected.
It verifies the generated role hashes but intentionally reports activation as
`unverified` until a fresh session supplies parent and child records. Next run
one bounded, read-only child for a single configured route in that project.
Give the child an exact existing file to inspect and forbid edits and further
delegation. In the target project, first resolve the active manifest and its
scope. Use the native route agent where supported, or the documented
explicit-spawn fallback. Pass the parent and child record paths, the route,
and (for an explicit spawn) its prepared request to `setup-acceptance.mjs`.
Do not run a multi-worker panel merely to certify basic setup. A failed,
cancelled, or unavailable smoke leaves activation `unverified`; report the
specific failed check and do not silently retry or reconfigure. Ask before a
model-consuming smoke when the user requested configuration only.

Report four separate facts: applied files, runtime role discovery or explicit
spawn mechanism, observed worker model/effort, and workflow-level coverage.
One successful read-only child proves only its route, not every workflow or
cross-provider diversity. Where user scope is supported, another project on
the same runtime inherits that default unless it has its own override. A
different machine or runtime needs its own inventory and setup.

## Output

Lead with one concrete status: preview only, saved with runtime verification
pending, or saved with the named route verified. If a project override selects
a different manifest, lead with that fact alongside the saved status.

Then show a compact receipt in the user's language:

- Destination: user, project, or detached scope and the target manifest path,
  taken from the configurator's `configuration` result.
- Effective selection: the manifest selected for the current project, whether
  it matches the destination, and that project's override when one exists.
- Choices: inventory source/time, preset, reasoning target, overrides, every
  named route and canonical role, and every panel entry in order. Group rows
  only when model and effort match; retain every route name. Distinguish
  inherited choices and efforts below the requested target.
- Evidence: owned-file checks, delegation mechanism, observed worker model and
  effort, and the exact tested route/entry. Label old records as prior evidence;
  a written table or one tested route does not certify all workflows.
- Next action: the specific missing verification or a workflow ready to try.

For an existing or newly applied resolution manifest, run
`scripts/setup-acceptance.mjs --resolution <manifest> --cwd <current-project> --format markdown`
and retain its complete role, route, and ordered-panel rows in the receipt.
It checks file hashes and prints counts directly from the manifest. Do not
reconstruct the list from a truncated JSON read, omit names while grouping,
or claim a complete receipt if the formatter could not run. The formatter's
`runtime activation: unverified` line remains separate from any later
route-specific parent/child verification.

Explain that this setup configures Oh My Stack's workflow agents. It does not
select the main conversation model or rewrite the host's general model roles.
Keep native discovery, explicit spawning, and workflow coverage separate in
the receipt. Do not claim model diversity from configuration alone.

Attribution

williamwuewilliamwue
View sourceSee grades on GitHubMore from williamwue →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →