From arn-code
This skill should be used when the user says "pick issue", "work on issue", "arness code pick", "arness code pick issue", "arn-code-pick-issue", "grab issue", "pick from backlog", "what should I work on", "show issues", "find issue", "browse issues", "next issue", "select issue", "choose issue", "what's unblocked", "work on next feature", "pick from feature tracker", or wants to browse issues filtered by Arness labels, select one, and route it to the appropriate Arness pipeline skill for implementation. Supports local-first dependency resolution from a greenfield feature backlog when available. Requires an issue tracker (GitHub or Jira) to be configured for remote issue browsing. Do NOT use this for creating new issues — use /arn-code-create-issue for that.
npx claudepluginhub appsvortex/arness --plugin arn-codeThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Browse issues filtered by Arness labels, select one for assessment, and route it to the appropriate Arness pipeline skill for implementation. When a greenfield feature backlog with a Feature Tracker exists, offers local-first dependency resolution to surface unblocked features without network calls.
If no ## Arness section exists in the project's CLAUDE.md, inform the user: "Arness is not configured for this project yet. Run /arn-planning to get started — it will set everything up automatically." Do not proceed without it.
Read the Issue tracker field from ## Arness config in the project's CLAUDE.md (values: github, jira, or none). If the Issue tracker field is not present, fall back to legacy detection: check for GitHub: yes and treat as github; otherwise treat as none.
git rev-parse --is-inside-work-tree — confirm the working directory is inside a git repository.git remote -v — confirm a GitHub remote exists (the origin URL must contain github.com).gh auth status — confirm the GitHub CLI is authenticated.If any check fails, inform the user what is missing and suggest running /arn-planning to get started. Do not proceed until all prerequisites are satisfied.
## Arness config/mcp to check status, or run /arn-planning to reconfigure."Check for a greenfield feature backlog before stopping:
## Arness config — check if a Vision directory field exists (only set by arn-spark-init, never by core arn-code-init)<vision-dir>/features/feature-backlog.md exists## Feature Tracker tableIf all three pass: Proceed to Step 1b (Local Backlog Check). The greenfield feature backlog provides a local-only alternative to remote issue browsing. Inform the user: "No remote issue tracker is configured, but a local greenfield feature backlog was found. Showing local features."
If any condition fails: Inform the user: "Issue management is not configured for this project. Run /arn-planning to get started, or configure the issue tracker manually." STOP — do not proceed.
This step is entirely optional — it activates only when a greenfield feature backlog exists. Projects without greenfield skip this step silently and proceed to Step 2. It resolves dependencies in the local Feature Tracker, presents unblocked features, validates against the remote issue tracker, and updates the tracker status.
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-code-pick-issue/references/greenfield-backlog-resolution.mdfor the full detection chain, resolution workflow, and sub-feature handling.
If the user picks a feature from the local backlog, skip Steps 2-4 and proceed to Step 5 (Assess Issue).
Deferred Label Check:
If Platform is github: check if Arness labels exist by running gh label list --search "arness-". If fewer than 7 Arness labels are found, create the missing ones using gh label create --force for each label per ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-init/references/platform-labels.md. This is idempotent and safe to run on every invocation.
If Platform is bitbucket or Issue tracker is jira: no label creation needed (Jira labels are implicit, Bitbucket uses different mechanisms).
Ask the user how they want to filter issues, or infer filters from hints in the trigger message. Use AskUserQuestion to gather preferences.
By type:
arness-feature-issue — Feature requests onlyarness-bug-issue — Bug reports onlyarness-backlog — Backlog items onlyBy priority (optional):
arness-priority-higharness-priority-mediumarness-priority-lowBy state: Open (default), Closed, All
Free text search (optional): If the user provides keywords in their trigger message, use them as a search filter.
Build the label filter from the user's selections. Multiple labels are combined with AND logic in gh issue list.
Build a JQL query from the user's selections. Labels map directly (e.g., arness-feature-issue). Priority maps to Jira priority values (High, Medium, Low). State maps to Jira statuses (e.g., Open excludes Done).
Use the gh CLI to fetch issues matching the constructed filter:
gh issue list --label "<label1>,<label2>" --state open --limit 10 --json number,title,labels,createdAt,author
Display results as a numbered list with issue number, title, labels, and age:
1. #42 — Add WebSocket support [arness-feature-issue, arness-priority-high] (3 days ago)
2. #38 — Fix checkout 500 error [arness-bug-issue, arness-priority-medium] (1 week ago)
3. #35 — Refactor auth middleware [arness-backlog, arness-priority-low] (2 weeks ago)
...
If more than 10 results exist, offer "Show more" to fetch the next page.
If no results match the filters, inform the user and suggest either adjusting the filters or creating a new issue via /arn-code-create-issue.
Use the Atlassian MCP server to search Jira issues with JQL:
project = <JIRA_PROJECT>
AND labels in (<selected-arness-labels>)
AND status != Done
ORDER BY created DESC
Request fields: key, summary, labels, created, assignee, status, priority.
Display results as a numbered list:
1. PROJ-42 — Add WebSocket support [Story, High] (3 days ago)
2. PROJ-38 — Fix checkout error [Bug, Medium] (1 week ago)
3. PROJ-35 — Refactor auth middleware [Task, Low] (2 weeks ago)
...
Paginate: show 10 results at a time, offer "Show more" option.
If no results match the filters, inform the user and suggest either adjusting the filters or creating a new issue via /arn-code-create-issue.
Wait for the user to select an issue by number from the displayed list.
Fetch the full issue details:
gh issue view <number> --json number,title,body,labels,comments,assignees,createdAt,author
Display the full issue to the user: title, body, labels, comments, assignees, and author.
Use the Atlassian MCP server to get full issue details by key (e.g., PROJ-42).
Display the full issue to the user: summary, description, issue type, labels, priority, status, assignee, and comments.
Invoke the most appropriate agent for a brief assessment based on the issue's labels:
arness-feature-issue (GitHub) or Story (Jira) — invoke the arn-code-architect agent to assess feasibility, scope, and architectural impact.arness-bug-issue (GitHub) or Bug (Jira) — invoke the arn-code-investigator agent to do a quick diagnostic assessment (likely cause, affected components, reproduction steps if available).arness-backlog (GitHub) or Task (Jira) — choose the agent based on issue content:
arn-code-architect.arn-code-investigator.arn-code-architect.The agent receives the issue title, body (or backlog entry content if coming from the local Feature Tracker path), and relevant codebase context. It provides a brief assessment covering:
Present the assessment to the user alongside the issue details.
After the user has reviewed the issue details and agent assessment, offer options using AskUserQuestion:
Route to spec — start the Arness pipeline for this issue:
arness-feature-issue / Story — suggest /arn-code-feature-specarness-bug-issue / Bug — suggest /arn-code-bug-specarness-backlog / Task — suggest based on the assessment (feature or bug spec)Reject issue — mark as rejected:
arness-rejected label: gh issue edit <number> --add-label arness-rejectedgh issue comment <number> --body "<reason>"arness-rejectedDefer — leave the issue open for later:
Do nothing — return to browsing or exit.
If the user chose to route to a spec skill:
Pass the issue context as input to the target skill:
features/F-NNN-kebab-name.md): description, journey steps, UI behavior, components, acceptance criteria, technical notes, use case postconditions, use case business rules, visual target, showcase references, debate insights<specs-dir>/FEATURE_F-NNN.M_<name>.md. arn-code-feature-spec should load and refine it rather than creating a new spec."Inform the user: "Routing issue #<number> (or <ISSUE-KEY>) to /arn-code-feature-spec (or /arn-code-bug-spec). The issue content will be used as the starting point for the specification."
If coming from the local Feature Tracker path: "Routing feature F-NNN: [Name] to /arn-code-feature-spec. The feature file includes inline journey steps, validated components, use case context, and UI behavior -- the spec conversation will start with full context."
none — inform the user that issue management is not configured. Suggest running /arn-planning to get started./arn-planning to get started./mcp to check status or /arn-planning to reconfigure.## Arness config is correct. Suggest running /arn-planning to reconfigure./arn-code-create-issue.gh CLI not authenticated — suggest running gh auth login.gh label create --force. Reference ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-init/references/platform-labels.md for the full label definitions (name, color, description).arness-rejected label and comment only. Inform the user that the status could not be changed./arn-spark-feature-extract to generate a Feature Tracker."/arn-code-pick-issue. Or type 'remote' to browse all remote issues."/arn-spark-feature-extract to add more features."decomposed, inform: "F-NNN has been decomposed into sub-features. Pick a sub-feature (F-NNN.1, F-NNN.2, ...) instead." Re-present the list.