@olegkoval/agent-skills 1.38.3 → 1.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +1 -0
- package/.github/prompts/veto-routing.prompt.md +65 -0
- package/.kiro/steering/veto-routing.md +64 -0
- package/.windsurf/rules/veto-routing.md +63 -0
- package/README.md +3 -2
- package/adapters/claude/olko-skill-meta/skills/veto-routing/SKILL.md +76 -0
- package/adapters/codex/olko-skill-meta/README.md +1 -0
- package/adapters/cursor/olko-skill-meta/skills/veto-routing/SKILL.md +76 -0
- package/adapters/grok/olko-skill-meta/skills/veto-routing/SKILL.md +76 -0
- package/catalog/skills.json +23 -0
- package/package.json +1 -1
- package/plugins/olko-apple-kit/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-creative/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-garmin-kit/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-git-tools/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-github-pr/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-obsidian/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-product/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-reflection/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-release/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-skill-meta/.claude-plugin/plugin.json +1 -1
- package/plugins/olko-skill-meta/skills/veto-routing/SKILL.md +75 -0
- package/plugins/olko-web-ops/.claude-plugin/plugin.json +1 -1
- package/scripts/lib/catalog.mjs +1 -1
- package/site/assets/catalog.css +1064 -0
- package/site/assets/catalog.js +232 -0
- package/site/build.mjs +218 -166
- package/site/assets/paperbag.css +0 -707
- package/site/assets/paperbag.js +0 -218
|
@@ -36,6 +36,7 @@ Available reusable prompt files:
|
|
|
36
36
|
- context-repo: .github/prompts/context-repo.prompt.md
|
|
37
37
|
- add-to-my-skills: .github/prompts/add-to-my-skills.prompt.md
|
|
38
38
|
- promptctl: .github/prompts/promptctl.prompt.md
|
|
39
|
+
- veto-routing: .github/prompts/veto-routing.prompt.md
|
|
39
40
|
- ai-tools-setup: .github/prompts/ai-tools-setup.prompt.md
|
|
40
41
|
- self-critique: .github/prompts/self-critique.prompt.md
|
|
41
42
|
- review-past-performance: .github/prompts/review-past-performance.prompt.md
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
description: "Use Veto to route or execute AI tasks across configured providers with explicit privacy, cost, transport, and output boundaries."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the olko:veto-routing skill.
|
|
8
|
+
|
|
9
|
+
# Veto routing
|
|
10
|
+
|
|
11
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
12
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
13
|
+
|
|
14
|
+
## Before a model call
|
|
15
|
+
|
|
16
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
17
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
18
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
19
|
+
with `go run ./cmd/veto`.
|
|
20
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
21
|
+
copy credential files from `~/.veto/`.
|
|
22
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
23
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
24
|
+
when sensitive data is present and provider authorization is unclear.
|
|
25
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
26
|
+
unrequested model call.
|
|
27
|
+
|
|
28
|
+
## Choose the smallest operation
|
|
29
|
+
|
|
30
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
31
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
32
|
+
execution and the selected transport can perform the task.
|
|
33
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
34
|
+
criteria. A requested review fails closed.
|
|
35
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
36
|
+
only steps already within the user's scope.
|
|
37
|
+
|
|
38
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
39
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
40
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
41
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
42
|
+
fresh, so rerun it only deliberately.
|
|
43
|
+
|
|
44
|
+
## Preserve transport and output boundaries
|
|
45
|
+
|
|
46
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
47
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
48
|
+
current executable-tool path.
|
|
49
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
50
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
51
|
+
exact file is authorized.
|
|
52
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
53
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
54
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
55
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
61
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
62
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
63
|
+
"Produce the requested structured result"
|
|
64
|
+
veto exec plan.md --dry-run
|
|
65
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
inclusion: manual
|
|
5
|
+
description: "Use Veto to route or execute AI tasks across configured providers with explicit privacy, cost, transport, and output boundaries."
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Veto routing
|
|
9
|
+
|
|
10
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
11
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
12
|
+
|
|
13
|
+
## Before a model call
|
|
14
|
+
|
|
15
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
16
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
17
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
18
|
+
with `go run ./cmd/veto`.
|
|
19
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
20
|
+
copy credential files from `~/.veto/`.
|
|
21
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
22
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
23
|
+
when sensitive data is present and provider authorization is unclear.
|
|
24
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
25
|
+
unrequested model call.
|
|
26
|
+
|
|
27
|
+
## Choose the smallest operation
|
|
28
|
+
|
|
29
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
30
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
31
|
+
execution and the selected transport can perform the task.
|
|
32
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
33
|
+
criteria. A requested review fails closed.
|
|
34
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
35
|
+
only steps already within the user's scope.
|
|
36
|
+
|
|
37
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
38
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
39
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
40
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
41
|
+
fresh, so rerun it only deliberately.
|
|
42
|
+
|
|
43
|
+
## Preserve transport and output boundaries
|
|
44
|
+
|
|
45
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
46
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
47
|
+
current executable-tool path.
|
|
48
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
49
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
50
|
+
exact file is authorized.
|
|
51
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
52
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
53
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
54
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
55
|
+
|
|
56
|
+
## Examples
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
60
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
61
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
62
|
+
"Produce the requested structured result"
|
|
63
|
+
veto exec plan.md --dry-run
|
|
64
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
description: "Use Veto to route or execute AI tasks across configured providers with explicit privacy, cost, transport, and output boundaries."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Veto routing
|
|
8
|
+
|
|
9
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
10
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
11
|
+
|
|
12
|
+
## Before a model call
|
|
13
|
+
|
|
14
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
15
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
16
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
17
|
+
with `go run ./cmd/veto`.
|
|
18
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
19
|
+
copy credential files from `~/.veto/`.
|
|
20
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
21
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
22
|
+
when sensitive data is present and provider authorization is unclear.
|
|
23
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
24
|
+
unrequested model call.
|
|
25
|
+
|
|
26
|
+
## Choose the smallest operation
|
|
27
|
+
|
|
28
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
29
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
30
|
+
execution and the selected transport can perform the task.
|
|
31
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
32
|
+
criteria. A requested review fails closed.
|
|
33
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
34
|
+
only steps already within the user's scope.
|
|
35
|
+
|
|
36
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
37
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
38
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
39
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
40
|
+
fresh, so rerun it only deliberately.
|
|
41
|
+
|
|
42
|
+
## Preserve transport and output boundaries
|
|
43
|
+
|
|
44
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
45
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
46
|
+
current executable-tool path.
|
|
47
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
48
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
49
|
+
exact file is authorized.
|
|
50
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
51
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
52
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
53
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
59
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
60
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
61
|
+
"Produce the requested structured result"
|
|
62
|
+
veto exec plan.md --dry-run
|
|
63
|
+
```
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<p><strong>Agent-agnostic skill catalog for Codex, Claude, Cursor, Grok, Copilot, Windsurf, Kiro, and other skill-aware tools.</strong></p>
|
|
4
4
|
<p>
|
|
5
5
|
<img src="https://img.shields.io/badge/license-MIT-16a34a" alt="MIT license">
|
|
6
|
-
<img src="https://img.shields.io/badge/skills-
|
|
6
|
+
<img src="https://img.shields.io/badge/skills-51-2563eb" alt="51 skills">
|
|
7
7
|
<img src="https://img.shields.io/badge/platforms-Codex%20%7C%20Claude%20%7C%20Cursor%20%7C%20Grok%20%7C%20Copilot%20%7C%20Windsurf%20%7C%20Kiro-111827" alt="Codex Claude Cursor Grok Copilot Windsurf Kiro">
|
|
8
8
|
<img src="https://img.shields.io/badge/status-public%20catalog-16a34a" alt="Public catalog">
|
|
9
9
|
</p>
|
|
@@ -229,7 +229,7 @@ Take a product idea to a shippable build: MVP passes, full-stack scaffolds, laun
|
|
|
229
229
|
| [starter-rules](plugins/olko-product/skills/starter-rules/SKILL.md) | Loads and enforces hard rules for every oleg-koval/* starter | Ensuring 300-line files, E2E tests, pre-commit hooks, Vertical Slice architecture, and KISS/DRY/SOLID |
|
|
230
230
|
| [viral-launch](plugins/olko-product/skills/viral-launch/SKILL.md) | Sets up a project repository and launch plan for shareable marketing, public launch readiness, and growth loops | Preparing a repo, product, open-source package, or creator tool for public launch |
|
|
231
231
|
|
|
232
|
-
### olko-skill-meta (
|
|
232
|
+
### olko-skill-meta (8)
|
|
233
233
|
|
|
234
234
|
Author and maintain agent skills and the AI toolchain itself.
|
|
235
235
|
|
|
@@ -239,6 +239,7 @@ Author and maintain agent skills and the AI toolchain itself.
|
|
|
239
239
|
| [add-to-my-skills](plugins/olko-skill-meta/skills/add-to-my-skills/SKILL.md) | Copies a newly created skill from another repo into this catalog, refreshes the README and generated manifests, then commits and pushes | Adding a skill you wrote elsewhere into this catalog |
|
|
240
240
|
| [skill-budget-audit](plugins/olko-skill-meta/skills/skill-budget-audit/SKILL.md) | Diagnoses and fixes Claude Code's skill context budget overflow, identifies heavy plugin bundles that exceed the 2% budget | Skills failing to load or Claude hitting context limits from plugin bundles |
|
|
241
241
|
| [promptctl](plugins/olko-skill-meta/skills/promptctl/SKILL.md) | Uses `promptctl` for reusable prompt templates, scoring, and workflow automation | A project needs prompt conventions, review, scoring, or reusable prompt workflows |
|
|
242
|
+
| [veto-routing](plugins/olko-skill-meta/skills/veto-routing/SKILL.md) | Routes or executes AI tasks through Veto across configured providers while preserving privacy, cost, transport, and output boundaries | A task needs cost-aware multi-provider model selection, execution, fallback, or a machine-readable routing decision |
|
|
242
243
|
| [ai-tools-setup](plugins/olko-skill-meta/skills/ai-tools-setup/SKILL.md) | Sets up, repairs, and reports on the RTK + ICM + Vox AI development toolkit, installs missing tools, fixes broken hooks and MCP config | Bootstrapping AI dev tools on a new machine or diagnosing broken integrations |
|
|
243
244
|
| [relay](plugins/olko-skill-meta/skills/relay/SKILL.md) | Uses `claude-relay` to run long or rate-limit-prone tasks autonomously across subscription accounts | A task will outlive one session or hit rate limits partway through |
|
|
244
245
|
| [shared-knowledge-artifact](plugins/olko-skill-meta/skills/shared-knowledge-artifact/SKILL.md) | Builds a shared, self-persisting knowledge ledger as a Claude Artifact, a private page that stores its own data, renders itself from it, and publishes new versions of itself so several agents read the same lessons and append to them | Giving multiple agents one place to learn from each other instead of repeating the same mistakes |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: veto-routing
|
|
3
|
+
description: Use the Veto CLI to select or execute AI models when a task needs multi-provider routing, structured accept or reject decisions, cost-aware dispatch, provider fallback, or Veto plan execution. Do not use for ordinary repository commands or generic model advice.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash, Read
|
|
6
|
+
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires Veto to be installed or run from its source checkout.
|
|
7
|
+
metadata:
|
|
8
|
+
targets: [_source-only]
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- veto
|
|
12
|
+
- model-routing
|
|
13
|
+
- multi-provider
|
|
14
|
+
- cli
|
|
15
|
+
- cost-control
|
|
16
|
+
- agents
|
|
17
|
+
---
|
|
18
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
19
|
+
|
|
20
|
+
# Veto routing
|
|
21
|
+
|
|
22
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
23
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
24
|
+
|
|
25
|
+
## Before a model call
|
|
26
|
+
|
|
27
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
28
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
29
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
30
|
+
with `go run ./cmd/veto`.
|
|
31
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
32
|
+
copy credential files from `~/.veto/`.
|
|
33
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
34
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
35
|
+
when sensitive data is present and provider authorization is unclear.
|
|
36
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
37
|
+
unrequested model call.
|
|
38
|
+
|
|
39
|
+
## Choose the smallest operation
|
|
40
|
+
|
|
41
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
42
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
43
|
+
execution and the selected transport can perform the task.
|
|
44
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
45
|
+
criteria. A requested review fails closed.
|
|
46
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
47
|
+
only steps already within the user's scope.
|
|
48
|
+
|
|
49
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
50
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
51
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
52
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
53
|
+
fresh, so rerun it only deliberately.
|
|
54
|
+
|
|
55
|
+
## Preserve transport and output boundaries
|
|
56
|
+
|
|
57
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
58
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
59
|
+
current executable-tool path.
|
|
60
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
61
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
62
|
+
exact file is authorized.
|
|
63
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
64
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
65
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
66
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
72
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
73
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
74
|
+
"Produce the requested structured result"
|
|
75
|
+
veto exec plan.md --dry-run
|
|
76
|
+
```
|
|
@@ -7,4 +7,5 @@ Use the canonical skills directly:
|
|
|
7
7
|
- `plugins/olko-skill-meta/skills/context-repo/SKILL.md`
|
|
8
8
|
- `plugins/olko-skill-meta/skills/add-to-my-skills/SKILL.md`
|
|
9
9
|
- `plugins/olko-skill-meta/skills/promptctl/SKILL.md`
|
|
10
|
+
- `plugins/olko-skill-meta/skills/veto-routing/SKILL.md`
|
|
10
11
|
- `plugins/olko-skill-meta/skills/ai-tools-setup/SKILL.md`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: veto-routing
|
|
3
|
+
description: Use the Veto CLI to select or execute AI models when a task needs multi-provider routing, structured accept or reject decisions, cost-aware dispatch, provider fallback, or Veto plan execution. Do not use for ordinary repository commands or generic model advice.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash, Read
|
|
6
|
+
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires Veto to be installed or run from its source checkout.
|
|
7
|
+
metadata:
|
|
8
|
+
targets: [_source-only]
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- veto
|
|
12
|
+
- model-routing
|
|
13
|
+
- multi-provider
|
|
14
|
+
- cli
|
|
15
|
+
- cost-control
|
|
16
|
+
- agents
|
|
17
|
+
---
|
|
18
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
19
|
+
|
|
20
|
+
# Veto routing
|
|
21
|
+
|
|
22
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
23
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
24
|
+
|
|
25
|
+
## Before a model call
|
|
26
|
+
|
|
27
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
28
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
29
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
30
|
+
with `go run ./cmd/veto`.
|
|
31
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
32
|
+
copy credential files from `~/.veto/`.
|
|
33
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
34
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
35
|
+
when sensitive data is present and provider authorization is unclear.
|
|
36
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
37
|
+
unrequested model call.
|
|
38
|
+
|
|
39
|
+
## Choose the smallest operation
|
|
40
|
+
|
|
41
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
42
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
43
|
+
execution and the selected transport can perform the task.
|
|
44
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
45
|
+
criteria. A requested review fails closed.
|
|
46
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
47
|
+
only steps already within the user's scope.
|
|
48
|
+
|
|
49
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
50
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
51
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
52
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
53
|
+
fresh, so rerun it only deliberately.
|
|
54
|
+
|
|
55
|
+
## Preserve transport and output boundaries
|
|
56
|
+
|
|
57
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
58
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
59
|
+
current executable-tool path.
|
|
60
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
61
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
62
|
+
exact file is authorized.
|
|
63
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
64
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
65
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
66
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
72
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
73
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
74
|
+
"Produce the requested structured result"
|
|
75
|
+
veto exec plan.md --dry-run
|
|
76
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: veto-routing
|
|
3
|
+
description: Use the Veto CLI to select or execute AI models when a task needs multi-provider routing, structured accept or reject decisions, cost-aware dispatch, provider fallback, or Veto plan execution. Do not use for ordinary repository commands or generic model advice.
|
|
4
|
+
license: MIT
|
|
5
|
+
allowed-tools: Bash, Read
|
|
6
|
+
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires Veto to be installed or run from its source checkout.
|
|
7
|
+
metadata:
|
|
8
|
+
targets: [_source-only]
|
|
9
|
+
author: Oleg Koval
|
|
10
|
+
tags:
|
|
11
|
+
- veto
|
|
12
|
+
- model-routing
|
|
13
|
+
- multi-provider
|
|
14
|
+
- cli
|
|
15
|
+
- cost-control
|
|
16
|
+
- agents
|
|
17
|
+
---
|
|
18
|
+
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
|
|
19
|
+
|
|
20
|
+
# Veto routing
|
|
21
|
+
|
|
22
|
+
Use Veto as a model-selection and execution layer. It does not expand the
|
|
23
|
+
user's authorization, validate generated output, or guarantee quality or cost.
|
|
24
|
+
|
|
25
|
+
## Before a model call
|
|
26
|
+
|
|
27
|
+
1. Confirm the CLI is available with `command -v veto`. Inside the Veto source
|
|
28
|
+
checkout, `go run ./cmd/veto` is an acceptable fallback. Do not install it
|
|
29
|
+
automatically. When using the fallback, replace `veto` in the commands below
|
|
30
|
+
with `go run ./cmd/veto`.
|
|
31
|
+
2. Inspect configured transports with `veto providers`. Never read, print, or
|
|
32
|
+
copy credential files from `~/.veto/`.
|
|
33
|
+
3. Check whether the objective is safe to send to the configured providers. An
|
|
34
|
+
admission pass can disclose the objective to more than one provider. Stop
|
|
35
|
+
when sensitive data is present and provider authorization is unclear.
|
|
36
|
+
4. Do not run `veto login`, change provider configuration, or incur an
|
|
37
|
+
unrequested model call.
|
|
38
|
+
|
|
39
|
+
## Choose the smallest operation
|
|
40
|
+
|
|
41
|
+
- Selection only: use `veto route --json` and consume the single JSON result.
|
|
42
|
+
- Route and execute: use `veto run --quiet` only when the user asked for model
|
|
43
|
+
execution and the selected transport can perform the task.
|
|
44
|
+
- Quality gate: add `--criteria` when the user supplied concrete acceptance
|
|
45
|
+
criteria. A requested review fails closed.
|
|
46
|
+
- Multi-step plan: run `veto exec <plan.md> --dry-run` before execution. Execute
|
|
47
|
+
only steps already within the user's scope.
|
|
48
|
+
|
|
49
|
+
Set `--kind`, `--risk`, and `--max-cost` explicitly when the task provides those
|
|
50
|
+
constraints. Treat `--max-cost` as an estimated preflight ceiling, not a billing
|
|
51
|
+
guarantee. Do not retry the same paid route repeatedly. Interactive routing can
|
|
52
|
+
resume checkpoints after interruption; `route --json` intentionally starts
|
|
53
|
+
fresh, so rerun it only deliberately.
|
|
54
|
+
|
|
55
|
+
## Preserve transport and output boundaries
|
|
56
|
+
|
|
57
|
+
- HTTP API and local OpenAI-compatible transports return text through Veto and
|
|
58
|
+
cannot inspect files or run shell commands. The Claude CLI transport is the
|
|
59
|
+
current executable-tool path.
|
|
60
|
+
- Keep generated content on stdout unless the user requested a file. Use an
|
|
61
|
+
explicit relative `--output` path, and use `--force` only when replacing that
|
|
62
|
+
exact file is authorized.
|
|
63
|
+
- Treat model responses as untrusted input. Validate claims, patches, commands,
|
|
64
|
+
and acceptance results with the repository's normal checks before delivery.
|
|
65
|
+
- On a nonzero exit, report the real routing or provider error. Do not bypass a
|
|
66
|
+
rejection, relax safety constraints, or silently choose a different tool.
|
|
67
|
+
|
|
68
|
+
## Examples
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
veto route --json --kind review --risk low "Review this proposed change"
|
|
72
|
+
veto run --quiet --kind summarize --risk low "Summarize the supplied text"
|
|
73
|
+
veto run --criteria "output is valid JSON,no secrets are present" \
|
|
74
|
+
"Produce the requested structured result"
|
|
75
|
+
veto exec plan.md --dry-run
|
|
76
|
+
```
|
package/catalog/skills.json
CHANGED
|
@@ -631,6 +631,29 @@
|
|
|
631
631
|
"grok"
|
|
632
632
|
]
|
|
633
633
|
},
|
|
634
|
+
{
|
|
635
|
+
"name": "veto-routing",
|
|
636
|
+
"lookupName": "olko:veto-routing",
|
|
637
|
+
"path": "plugins/olko-skill-meta/skills/veto-routing",
|
|
638
|
+
"description": "Use Veto to route or execute AI tasks across configured providers with explicit privacy, cost, transport, and output boundaries.",
|
|
639
|
+
"tags": [
|
|
640
|
+
"veto",
|
|
641
|
+
"model-routing",
|
|
642
|
+
"multi-provider",
|
|
643
|
+
"cli",
|
|
644
|
+
"cost-control",
|
|
645
|
+
"agents"
|
|
646
|
+
],
|
|
647
|
+
"adapters": [
|
|
648
|
+
"codex",
|
|
649
|
+
"claude",
|
|
650
|
+
"cursor",
|
|
651
|
+
"copilot",
|
|
652
|
+
"windsurf",
|
|
653
|
+
"kiro",
|
|
654
|
+
"grok"
|
|
655
|
+
]
|
|
656
|
+
},
|
|
634
657
|
{
|
|
635
658
|
"name": "ai-tools-setup",
|
|
636
659
|
"lookupName": "olko:ai-tools-setup",
|
package/package.json
CHANGED