Routes a story to the right agent. Runs a readiness check, detects missing context and completes the story if needed. A preparation step before /dev-task.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add bturksoy/claude-code-app-studio --skill assign --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Assign?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/bturksoy-assign)More formats (shields.io, HTML) on the badges page.
---
name: assign
description: Routes a story to the right agent. Runs a readiness check, detects missing context and completes the story if needed. A preparation step before /dev-task.
---
# /assign <story-path>
Owner: `delivery-manager`. Runs without invoking agents (unless the story is incomplete).
---
## 1. Read the story and determine the owner
If the `Owner` field is filled, use it. If empty, derive it from the type and content:
| Signal | Owner |
|---|---|
| Screen, component, form, route, CSS | `frontend-developer` |
| Endpoint, service, business rule, integration | `backend-developer` |
| Table, migration, index, query | `sql-developer` |
| Pipeline, environment, IaC, monitoring, deploy | `devops-engineer` |
| ETL, report, event schema | `data-engineer` |
| Test case, automation, regression | `test-engineer` |
| Screen flow, IA, wireframe | `ux-designer` |
| Token, component spec | `ui-designer` |
**If more than one signal is present, the story must be split** — report this:
```
⚠ story-007 contains both backend and frontend work.
Suggestion: split into two stories → re-run /stories <epic>
or: split at the contract boundary (BE first, FE second)
```
## 2. Readiness check
```
[ ] Is the status "Ready" (not Blocked)
[ ] Are the stories it depends on DONE
[ ] Are the acceptance criteria in Given/When/Then form
[ ] Is "Architecture decisions to apply" filled in (or a justified N/A)
[ ] Is the "Contract" section filled in (for types that need API/data)
[ ] Is there a "Files to touch" list
[ ] Is "Test scenarios" filled in (for Logic/Integration)
[ ] Is the "Out of scope" section filled in
```
## 3. Fill the gaps
If something is missing, **find the source and copy it into the story** (no agent needed):
| Missing | Source |
|---|---|
| Acceptance criteria | `FRD.md` → the relevant REQ |
| ADR implementation guidance | `adr/ADR-NNNN-*.md` → the "Implementation guidance" section |
| Contract | The relevant endpoint in `openapi.yaml` / the relevant table in `ER.md` |
| Files to touch | Identify them via Grep in the relevant module |
| Test scenarios | If missing, invoke `qa-lead` (only if this is the sole gap) |
This step **completes the task packet** and lowers the cost of `/dev-task`.
## 4. Present
```
## Task Assignment
Story <NNN>: <title>
Owner: <agent> Type: <type> Estimate: <size>
Readiness: <a>/<b> ✓
Gaps filled:
✓ Contract added (openapi.yaml → POST /orders)
✓ ADR-0007 implementation guidance copied
✓ Files to touch identified (<n> files)
Remaining gaps: <if any>
Dependencies: <status>
▶ Ready: /dev-task <path>
```
## 5. If blocked
```
⚠ Story blocked: <reason>
Depends on: story-003 (status: In progress)
What you can do now:
/dev-task <path to an independent story>
```
---
## Token note
- **Usually 0 agent calls** — just file reads and copying.
- This skill exists to lower the cost of `/dev-task`: an incomplete task packet means the
developer agent has to search, which costs 3-5× more.
- Can be run in bulk for every story at the start of a sprint.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!