Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@
"icon": "./plugins/ejentum/ejentum-mcp/assets/ejentum-icon.svg"
},
{
"name": "epic-harness",
"name": "epic",
"displayName": "Epic Harness",
"source": {
"source": "local",
Expand Down Expand Up @@ -550,6 +550,21 @@
"description": "High-compression communication mode for Codex agents that removes filler while preserving search, validation, and implementation effort.",
"icon": "./plugins/Maksim-Burtsev/simple-man/assets/icon.png"
},
{
"name": "skill-routing-kit",
"displayName": "Skill Routing Kit",
"source": {
"source": "local",
"path": "./plugins/juew/Skill-Routing-Kit"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Development & Workflow",
"description": "Local-first Codex routing guard that improves skill and plugin selection with a capability registry, negative examples, and explainable diagnostics.",
"icon": "./plugins/juew/Skill-Routing-Kit/assets/composer-icon.png"
},
{
"name": "spec-driven",
"displayName": "Spec-Driven Development",
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ Third-party plugins built by the community. [PRs welcome](#contributing)!
- [Secret Guard](./plugins/mturac/secret-guard) - Pre-commit secret scanner using pattern and entropy detection.
- [Session Orchestrator](https://github.com/Kanevry/session-orchestrator) - Session orchestration for Claude Code, Codex, and Cursor IDE — structured planning, wave-based execution, VCS integration (GitLab + GitHub), quality gates, and clean session close-out with issue tracking.
- [Simple Man](https://github.com/Maksim-Burtsev/simple-man) - High-compression communication mode for Codex agents that removes filler while preserving search, validation, and implementation effort.
- [Skill Routing Kit](https://github.com/juew/Skill-Routing-Kit) - Local-first Codex routing guard that improves skill and plugin selection with a capability registry, negative examples, and explainable diagnostics.
- [Spec-Driven Development](https://github.com/Habib0x0/spec-driven-plugin) - Three-phase Requirements → Design → Tasks workflow for Claude Code and Codex — EARS notation acceptance criteria, autonomous execution loop, cross-spec dependencies, and post-implementation acceptance testing.
- [Staff Engineer Mode](https://github.com/sirmarkz/staff-engineer-mode) - Routes engineering design, delivery, reliability, security, operations, and maintenance prompts to focused staff-level specialist guidance for AI coding agents.
- [Standup Generator](./plugins/mturac/standup-gen) - Daily standup notes from git activity across repos.
Expand Down
12 changes: 11 additions & 1 deletion plugins.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"name": "awesome-codex-plugins",
"version": "1.0.0",
"last_updated": "2026-06-04",
"total": 98,
"total": 99,
"categories": [
"Development & Workflow",
"Tools & Integrations"
Expand Down Expand Up @@ -379,6 +379,16 @@
"source": "awesome-codex-plugins",
"install_url": "https://raw.githubusercontent.com/Maksim-Burtsev/simple-man/HEAD/plugins/simple-man/.codex-plugin/plugin.json"
},
{
"name": "Skill Routing Kit",
"url": "https://github.com/juew/Skill-Routing-Kit",
"owner": "juew",
"repo": "Skill-Routing-Kit",
"description": "Local-first Codex routing guard that improves skill and plugin selection with a capability registry, negative examples, and explainable diagnostics.",
"category": "Development & Workflow",
"source": "awesome-codex-plugins",
"install_url": "https://raw.githubusercontent.com/juew/Skill-Routing-Kit/HEAD/.codex-plugin/plugin.json"
},
{
"name": "Spec-Driven Development",
"url": "https://github.com/Habib0x0/spec-driven-plugin",
Expand Down
36 changes: 36 additions & 0 deletions plugins/juew/Skill-Routing-Kit/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "skill-routing-kit",
"version": "0.1.0+codex.20260604032338",
"description": "Local-first skill and plugin routing guard, registry, and diagnostics for Codex.",
"author": {
"name": "Zhonghao"
},
"repository": "https://github.com/juew/Skill-Routing-Kit",
"license": "MIT",
"keywords": [
"codex",
"codex-plugin",
"skill-routing",
"ai-agents",
"local-first",
"developer-tools"
],
"skills": "./skills/",
"interface": {
"displayName": "Skill Routing Kit",
"shortDescription": "Local-first skill routing guard and diagnostics.",
"longDescription": "Improve Codex skill and plugin hit rate with an always-on AGENTS routing guard, a local capability registry, and explicit diagnostic scripts.",
"defaultPrompt": "Use Skill Routing Kit to diagnose which Codex skill or plugin should handle a request, refresh the local capability registry, or improve skill routing hit rate.",
"developerName": "Zhonghao",
"category": "Productivity",
"brandColor": "#22D3EE",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png",
"capabilities": [
"Skill routing guard",
"Local capability registry",
"Routing diagnostics",
"Registry maintenance"
]
}
}
14 changes: 14 additions & 0 deletions plugins/juew/Skill-Routing-Kit/.codexignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
__pycache__/
*.py[cod]
.pytest_cache/
.DS_Store
.git/
.github/
tests/
docs/launch/
launch/
launch-pack/
promotion-drafts/
*.draft.md
posts.csv
interactions.md
21 changes: 21 additions & 0 deletions plugins/juew/Skill-Routing-Kit/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Zhonghao

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
197 changes: 197 additions & 0 deletions plugins/juew/Skill-Routing-Kit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
<p align="center">
<img src="assets/logo.png" alt="Skill Routing Kit logo" width="160" />
</p>

<h1 align="center">Skill Routing Kit</h1>

<p align="center">
Make Codex pick the right skill or plugin more often.
</p>

<p align="center">
<a href="README.zh-CN.md">中文说明</a>
·
<a href="README.en.md">Full English docs</a>
·
<a href="docs/demo.md">Demo</a>
·
<a href="docs/release-v0.1.0.md">Release notes</a>
</p>

<p align="center">
<img alt="Codex plugin" src="https://img.shields.io/badge/Codex-plugin-22D3EE">
<img alt="Local first" src="https://img.shields.io/badge/local--first-no%20network%20by%20default-10B981">
<img alt="CI" src="https://github.com/juew/Skill-Routing-Kit/actions/workflows/ci.yml/badge.svg">
<img alt="License" src="https://img.shields.io/badge/license-MIT-111827">
</p>

## Why This Exists

Codex can have dozens of skills and plugins installed, but the correct one does not always trigger.

That creates a quiet productivity tax:

- a PDF input gets mistaken for the final artifact;
- a routing/debugging question gets handled by the wrong domain skill;
- connector plugins are considered even when the user's work is local;
- new skills are installed, but nobody remembers when to use them.

Skill Routing Kit adds a small local-first routing layer for Codex. It helps Codex answer:

```text
What kind of task is this?
Where is the source of truth?
What is the final artifact?
Which skill should be primary?
Which plugin is only a helper?
When should a tempting skill not be used?
```

## What You Get

- `skill-router`: a Codex skill for diagnosing skill/plugin routing decisions.
- Local registry: a JSON capability index with categories, use cases, negative examples, and provenance.
- Routing guard: an `AGENTS.md` snippet that makes routing a quiet default behavior.
- Diagnostic scripts: route a request, refresh the registry, and check stale or broken entries.
- Local-first safety: no background scan, no telemetry, no connector content reads, no network by default.

## 30-Second Install

If you use Codex, ask it to install the plugin for you:

```text
Please install the Skill Routing Kit plugin from https://github.com/juew/Skill-Routing-Kit. Install the plugin source globally at ~/plugins/skill-routing-kit, register it in ~/.agents/plugins/marketplace.json, run codex plugin add skill-routing-kit@personal, and enable the routing guard globally in ~/.codex/AGENTS.md. Do not install it into the current project. Do not ask me to create directories manually; use the repository installer and verify the plugin after installation.
```

Or run one command:

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/juew/Skill-Routing-Kit/main/scripts/install.sh)" -- --install-agents --codex-add
```

The installer creates directories, updates your personal Codex marketplace, enables the plugin, and backs up older local copies.

## Before And After

### Routing Diagnostic

```bash
python3 scripts/route_request.py "为什么 pdf skill 没有命中这个请求"
```

Expected result:

```text
Recommended skill/plugin:
- Skill Router (skill-router)

Helper skills/plugins:
- PDF (pdf)

Why:
- routing diagnostic request prefers the skill-router capability
- local-first preference
```

### Final Artifact Routing

```bash
python3 scripts/route_request.py "把这个 PDF 整理成一份 PPT"
```

Expected result:

```text
Recommended skill/plugin:
- Presentations (presentations)

Helper skills/plugins:
- PDF (pdf)
```

The final artifact is the presentation. The PDF skill is useful context, not the primary route.

More examples: [docs/demo.md](docs/demo.md)

## How It Works

Skill Routing Kit turns skill/plugin selection into a lightweight recall-and-rerank loop.

```mermaid
flowchart LR
A["User request"] --> B["Routing guard"]
B --> C["Classify task, source, artifact, process"]
C --> D["Recall candidates from registry"]
D --> E["Rerank by final artifact, source, action, risk"]
E --> F["Use primary skill/plugin"]
E --> G["Keep helper skills contextual"]
```

The methodology is simple:

- describe **when to use** each capability;
- classify capabilities into layered routing categories such as `process`, `source`, `artifact`, `domain`, and `risk`;
- describe **when not to use** each capability with negative examples;
- recall broad candidates first, then rerank by final artifact, source, task action, and permission risk.

## Safety Model

This project is intentionally conservative.

- It reads local `SKILL.md`, `plugin.json`, and registry metadata.
- It does not read Gmail, Slack, Notion, Drive, or other connector content.
- It does not check connector authorization.
- It does not install hooks, telemetry, daemons, or background scanners.
- It can be removed by deleting the `AGENTS.md` block and uninstalling the plugin.

## Common Commands

```bash
# Validate the plugin
python3 /Users/zhonghao/.codex/skills/.system/plugin-creator/scripts/validate_plugin.py .

# Run tests
python3 -B -m unittest discover -s tests

# Route one request
python3 scripts/route_request.py "帮我把这个 PDF 做成 PPT 并保留版式"

# Check registry health
python3 scripts/route_request.py --check-registry

# Refresh generated registry
python3 scripts/build_registry.py --yes
```

## Who Should Star This

Star this repo if you are:

- building Codex skills or plugins;
- using many AI agent capabilities and seeing missed triggers;
- designing local-first agent workflows;
- maintaining a team skill library;
- interested in explainable routing for AI tools.

## Roadmap

- Registry diff after skill/plugin install or removal.
- Better negative-example authoring tools.
- Optional embedding-based reranker.
- Route quality evaluation suite.
- UI screenshots and short demo GIF.
- More connector-aware but still local-first policy cards.

## Documentation

- [Chinese README](README.zh-CN.md)
- [Full English documentation](README.en.md)
- [Demo scenarios](docs/demo.md)
- [Release notes](docs/release-v0.1.0.md)
- [Promotion kit](docs/promotion-kit.md)
- [Contributing guide](CONTRIBUTING.md)
- [Changelog](CHANGELOG.md)

## License

MIT
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plugins/juew/Skill-Routing-Kit/assets/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plugins/juew/Skill-Routing-Kit/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading