Skip to content

/arn-planning

This skill should be used when the user says "planning", "arness planning", "plan a feature", "start planning", "I want to build", "new feature", "plan something", "what should I build", "pick an issue", "plan a bug fix", "I have an idea", "spec and plan", "plan from scratch",

shell
$ npx -y skills add AppsVortex/arness --skill arn-planning --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/arn-planning
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

This skill should be used when the user says "planning", "arness planning", "plan a feature", "start planning", "I want to build", "new feature", "plan something", "what should I build", "pick an issue", "plan a bug fix", "I have an idea", "spec and plan", "plan from scratch",

SKILL.md

arn-planning.SKILL.md
name: arn-planning
description: >-
  This skill should be used when the user says "planning", "arness planning",
  "plan a feature", "start planning", "I want to build", "new feature",
  "plan something", "what should I build", "pick an issue", "plan a bug fix",
  "I have an idea", "spec and plan", "plan from scratch", "plan this",
  "feature planning", "bug planning", "plan this issue", "arn-planning",
  or wants to go from an idea, issue, or bug report through to a complete
  implementation plan ready for execution. Handles severity-aware scope
  routing across three ceremony tiers (swift, standard, thorough),
  routing between feature specs, bug specs, and quick implementations,
  and produces a reviewed plan ready for execution. Chains to
  arn-implementing at completion.
version: 1.1.0

Arness Planning

Go from an idea, issue, or bug report through to a complete implementation plan ready for execution. This is the primary first-citizen entry point for the Arness development pipeline. It orchestrates scope assessment, spec authoring, plan generation, plan structuring, plan review, and task creation — then chains to `arn-implementing`.

This skill is a **sequencer and decision-gate handler**. It MUST NOT duplicate sub-skill logic. All pipeline work is done by the invoked skills. Arness-planning handles: input routing, scope assessment, transitions between skills, progress display, resumability, and chaining.

Prerequisites: Ensure Configuration

Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-code-ensure-config/references/step-0-fast-path.md` and follow its instructions. This guarantees a user profile exists and `## Arness` is configured with Arness Code fields before proceeding.

After configuration is ensured, extract the following from `## Arness`:

  • **Plans directory** — for detecting plan previews and project folders
  • **Specs directory** — for detecting specification files
  • **Code patterns** — path to stored pattern documentation
  • **Issue tracker** — determines if "Pick from backlog" option is available (`github`, `jira`, or `none`)

Workflow

Step 0: Input Routing

Check the trigger message to determine the entry path:

| Input Pattern | Action | |--------------|--------| | No args | Proceed to Step 1 (State Detection), then G1 if no resume | | Text description (e.g., "planning: add rate limiting") | Extract description, proceed to Step 3 (Scope Assessment) | | Issue reference (`#42`, `PROJ-123`) | Invoke `Skill: arn-code:arn-code-pick-issue` with the reference, then proceed to Step 3 with the loaded issue context | | Feature backlog reference (`F-003`) | Invoke `Skill: arn-code:arn-code-pick-issue` with the reference, then proceed to Step 3 | | "pick" keyword | Invoke `Skill: arn-code:arn-code-pick-issue` (browse mode), then proceed to Step 3 | | "resume" | Proceed to Step 1 (State Detection) |

---

Step 1: State Detection

Check which artifacts exist on disk to determine the entry point. Check from most advanced to least advanced — first match wins:

| Artifact | Detected State | Resume Point | |----------|---------------|--------------| | `INTRODUCTION.md` in `<plans-dir>/<project>/` | Plan saved and structured | G5 (Completion — offer implementing) | | `STANDARD_*.md` in `<plans-dir>/` or project root | Standard tier in progress/complete | Chain to `arn-implementing` with standard intent | | `PLAN_PREVIEW_*.md` in `<plans-dir>/` | Plan generated, not saved | Auto-run save-plan, then G5 | | `FEATURE_*.md` or `BUGFIX_*.md` in `<specs-dir>/` (finalized) | Spec written, no plan | G3 (Spec review) | | `DRAFT_FEATURE_*.md` in `<specs-dir>/` (no finalized spec) | Spec in progress | Resume spec (invoke feature-spec, which detects the draft) | | None of the above | Fresh start | G1 |

**If multiple specs or plans detected:** List them and ask the user which to resume.

**If artifacts detected:**

Show the detected state and ask: "It looks like you have an in-progress plan. Resume from [detected stage], or start fresh?"

  • **Resume** → skip to the detected resume point
  • **Start fresh** → begin at G1 (do not delete existing artifacts)

**If no artifacts detected:** check for a greenfield feature backlog, then proceed to G1.

**Greenfield backlog check (optional — Arness Spark integration):**

If no Arness Code artifacts were detected, check for a greenfield feature backlog. Arness Spark is an optional plugin — if any condition fails, skip silently and proceed to G1 normally.

1. `## Arness` config has a **Vision directory** field (only set by `arn-spark-init`, never by core `arn-code-init`) 2. If Vision directory exists, `<vision-dir>/features/feature-backlog.md` exists 3. The file contains a `## Feature Tracker` table

If all three pass, parse the Feature Tracker to count features by status (pending, in-progress, done). Skip rows with status `decomposed` — their sub-features are counted individually instead. Calculate unblocked features (pending where all dependencies have status done, or dependencies are None).

Hold the results for G1 — they change how the gate is presented. If any condition fails, proceed to G1 with no backlog context.

---

Step 2: Gate G1 — Entry Point

Only reached when no input was provided and no artifacts were detected for resume.

Show progress:

Planning: ENTRY -> scope-router -> spec -> plan -> save -> review-plan -> taskify -> [ready]
          ^^^^^

**If greenfield backlog was detected in Step 1:**

Present the backlog context before asking:

"A greenfield feature backlog exists with **[total]** features ([unblocked] unblocked, [in-progress] in progress, [done] done).

The unblocked features ready for implementation are available via the backlog."

Ask (using `AskUserQuestion`):

**"What would you like to work on?"**

**If `unblocked > 1`** (batch option available — 4 options):

Options: 1. **Pick from backlog** (Recommended) — Browse [unblocked] unblocked features from the greenfield pipeline 2. **Batch plan ([unblocked]

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships witharness

Arness — H not required. Structured AI workflows for Claude Code. From first idea to production deploy. Seven entry commands. That's all you need to remember.

Get the whole plugin, auto-invoked

Other skills on arness.