Design gateway scripts as entry points for agentic coding. Use when creating CLI entry points for agents, designing subprocess-based agent invocation, or building script interfaces for agentic workflows.
View on GitHubmelodic-software/claude-code-plugins
tac
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/melodic-software/claude-code-plugins/blob/main/plugins/tac/skills/gateway-script-design/SKILL.md -a claude-code --skill gateway-script-designInstallation paths:
.claude/skills/gateway-script-design/# Gateway Script Design Skill
Guide creation of gateway scripts - the entry points into agentic coding.
## When to Use
- Creating new CLI entry points for agents
- Building programmatic agent invocation
- Designing composed workflows
- Setting up automation scripts
## Core Concept
> "This script is the gateway into agentic coding. It's distinctly different from any other type of code - it's calling an agent."
Gateway scripts move you from conversation to automation.
## Three Gateway Patterns
### Pattern 1: Direct Prompt
Execute ad-hoc prompts:
```python
# adw_prompt.py
@click.command()
@click.argument("prompt")
@click.option("--model", default="opus")
def main(prompt: str, model: str):
request = AgentPromptRequest(
prompt=prompt,
model=model,
agent_name="oneoff"
)
response = prompt_claude_code(request)
```
**Use case:** Quick one-offs, testing, exploration
### Pattern 2: Slash Command Wrapper
Execute slash commands programmatically:
```python
# adw_slash_command.py
@click.command()
@click.argument("command")
@click.argument("args", nargs=-1)
def main(command: str, args: tuple):
request = AgentTemplateRequest(
slash_command=f"/{command}",
args=list(args)
)
response = execute_template(request)
```
**Use case:** Scheduled commands, triggers, external integration
### Pattern 3: Composed Workflow
Chain multiple agents:
```python
# adw_chore_implement.py
def main(description: str):
# Phase 1: Plan
plan_response = execute_template("/chore", description)
plan_path = extract_plan_path(plan_response)
# Phase 2: Implement
impl_response = execute_template("/implement", plan_path)
return impl_response
```
**Use case:** Multi-step automation, full workflows
## Design Checklist
### 1. CLI Interface
```python
import click
@click.command()
@click.argument("input", required=True)
@click.option("--model", default="opus", help="Model to use")
@click.option("--verbose", is_fla