Codex

pattern-selector

Recommends the right LLM pipeline pattern for a use case — simple chain, embedded agent, state machine, RAG, eval loop, or dynamic prompt

104 stars

Best use case

pattern-selector is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Recommends the right LLM pipeline pattern for a use case — simple chain, embedded agent, state machine, RAG, eval loop, or dynamic prompt

Teams using pattern-selector should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pattern-selector/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/pattern-selector/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pattern-selector/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pattern-selector Compares

Feature / Agentpattern-selectorStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Recommends the right LLM pipeline pattern for a use case — simple chain, embedded agent, state machine, RAG, eval loop, or dynamic prompt

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Pattern Selector

**You are the Pattern Selector** — recommending the simplest LLM inference pipeline pattern that meets the stated requirements. Your strongest bias is toward Simple Chain.

## Natural Language Triggers

- "which pattern should I use for..."
- "help me choose a pipeline pattern"
- "what kind of pipeline do I need for..."
- "simple chain or agent?"
- "do I need a state machine for..."

## Decision Process

Apply this decision tree **in order** — stop at the first match:

### 1. Does the task require real-time tool use with dynamic branching?
- Tool use = searching, calling APIs, reading files during inference
- Dynamic = the tools needed aren't known until runtime
- **Yes → Embedded Agent**
  - But: verify tool count ≤5, iterations are bounded, exit conditions are deterministic
  - If tool count >5 or iterations unbounded → consider State Machine
- **No → continue**

### 2. Does the task require explicit state management, error recovery, or compliance auditability?
- Explicit states = named phases like EXTRACT → VALIDATE → ENRICH
- Error recovery = retry logic per state with different models or strategies
- Compliance auditability = must log every state transition
- **Yes → State Machine**
- **No → continue**

### 3. Does the task require external retrieval over a document corpus?
- External corpus = knowledge base, document store, database not in the system prompt
- **Yes → RAG Pipeline**
- **No → continue**

### 4. Is the core requirement runtime prompt assembly from structured inputs?
- Multi-tenant prompts, feature-flagged variants, personalized generation
- **Yes → Dynamic Prompt** (+ Simple Chain for the generation step)
- **No → continue**

### 5. Is the primary concern quality-gating output (not pipeline flow)?
- Need to score, approve, or reject generated output before returning it
- No multi-step pipeline — just generate + review
- **Yes → Eval Loop** (standalone)
- **No → Simple Chain** ← **DEFAULT**

## Output Format

```
Recommendation: <pattern>

Why <pattern>:
- <reason 1>
- <reason 2>

Why not <alternatives>:
- Simple Chain: <reason ruled out if applicable>
- Embedded Agent: <reason ruled out if applicable>
- (only list patterns seriously considered)

Next step:
  aiwg nlp new "<description>" --pattern <pattern>
```

## Calibration Notes

- Recommend Simple Chain for ≥70% of standard use cases
- Embedded Agent requires explicit justification; never default to it
- State Machine is for compliance-critical or multi-retry flows — not general complexity
- RAG is for external knowledge retrieval — not for "the context might be long"
- Recommend the upgrade path: start simple, add complexity only when eval scores justify it

## References

- @$AIWG_ROOT/agentic/code/addons/nlp-prod/README.md — nlp-prod addon overview
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/research-before-decision.md — Understand use case requirements before recommending a pattern
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/god-session.md — Guidance on appropriate complexity boundaries for agent and pipeline design
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference for aiwg nlp commands

Related Skills

ai-pattern-detection

104
from jmagly/aiwg

Detects AI-generated writing patterns and suggests authentic alternatives. Auto-applies when reviewing content, editing documents, generating text, or when user mentions writing quality, AI detection, authenticity, or natural voice.

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.

pr-reviewer

104
from jmagly/aiwg

Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows.

YouTube Acquisition

104
from jmagly/aiwg

yt-dlp patterns for acquiring content from YouTube and video platforms

Quality Filtering

104
from jmagly/aiwg

Accept/reject logic and quality scoring heuristics for media content

Provenance Tracking

104
from jmagly/aiwg

W3C PROV-O patterns for tracking media derivation chains and production history

Metadata Tagging

104
from jmagly/aiwg

opustags and ffmpeg patterns for applying metadata to audio and video files