# Start Work

> Assign a Jira issue to yourself and convert it into an OpenSpec proposal. Use when the user says "start work", "pick up an issue", "take the next ticket", or provides a Jira key and wants to begin work on it. Handles issue selection from the backlog, assignment, transition to In Progress, and scaffolding an OpenSpec change with Jira context embedded in the proposal.

- Skill: `avantmedialtd/start-work` (Agent Skill)
- Install (CLI): `npx skillmds@latest add avantmedialtd/start-work`
- Raw SKILL.md: https://api.skillmd.com/api/skills/avantmedialtd/start-work/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: avantmedialtd (https://skillmd.com/u/avantmedialtd)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/avantmedialtd/start-work

---


# Start Work

Assign a Jira issue to yourself and convert it into an OpenSpec proposal. Hands off to the OPSX workflow once the proposal exists.

## When to use

- The user wants to start work on a specific Jira issue they've named.
- The user wants to pick up the next available issue from the board ("start work", "next ticket").
- The user is beginning a new unit of work and needs both the Jira and OpenSpec side set up.

Examples:
- "start work" — takes the topmost issue from the board after confirming.
- "start work PROJ-123" — uses the specified issue.

## Steps

0. **If no issue-key is provided**, fetch the topmost issue from the board:
   1. Detect project key by running `af jira projects --json`
      - If single project: use it
      - If multiple projects: ask the user to choose
   2. Fetch the topmost backlog issue using:
      ```bash
      af jira search "project = <PROJECT> AND status = 'Selected for Development' ORDER BY Rank ASC" --limit 1 --json
      ```
   3. Display the issue summary and ask the user for confirmation before proceeding
   4. If no backlog issues found: inform the user the Selected for Development column is empty and stop
1. Fetch the issue details using `af jira get <issue-key>`.
2. Assign the issue to yourself using `af jira assign <issue-key> --to "$ATLASSIAN_EMAIL"`. `af` authenticates as the account in `ATLASSIAN_EMAIL` (legacy: `JIRA_EMAIL`), so that is "yourself" — do not derive an assignee from the issue's reporter field.
3. Transition the issue to "In Progress" using `af jira transition <issue-key> --to "In Progress"`. If this fails, run `af jira transitions <issue-key>` to find the correct status name.
4. Create an OpenSpec change using the OPSX workflow:
   - Derive a `change-id` from the issue key and summary (kebab-case, verb-led)
   - Invoke the `openspec-new-change` skill (Skill tool) with the `change-id`
     - This scaffolds the change directory, shows artifact status, and provides the first artifact template
   - Then invoke the `openspec-continue-change` skill (Skill tool) to create the proposal artifact, enriching with Jira context:
     - Jira issue link: `**Jira**: [ISSUE-KEY](jira-url)`
     - Why section derived from Jira issue description
     - What Changes derived from issue details
   - Show the updated status
5. **STOP and hand off to OPSX workflow**

   Suggest: "Proposal created. Run `/opsx:continue` to create the next artifact, or `/opsx:ff` to generate all remaining artifacts."

## Project Defaults

If the project instructions specify a default Jira project key (e.g., `Jira project: PROJ`), use it as the default for `--project`, `list`, `types`, and JQL queries. Explicit user input always overrides the default.

## Reference

- See `openspec/AGENTS.md` for OpenSpec conventions
- See the `jira` skill, or run bare `af jira` (not `af jira --help`, which is only a stub) for the full CLI reference
- See `/opsx:new` and `/opsx:ff` for the full artifact workflow

