/arn-code-init
Optional customization and upgrade tool. This skill should be used when the user says "initialize arness code", "arness code init", "arn-code-init", "init arness code", "setup arness code", "arness code setup", "set up arness code", "start arness code", "upgrade arness code",
$ npx -y skills add AppsVortex/arness --skill arn-code-init --agent claude-codeHow 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-code-init
Context preview
The summary Claude sees to decide when to auto-load this skill.
Optional customization and upgrade tool. This skill should be used when the user says "initialize arness code", "arness code init", "arn-code-init", "init arness code", "setup arness code", "arness code setup", "set up arness code", "start arness code", "upgrade arness code",
SKILL.md
arn-code-init.SKILL.mdname: arn-code-init
description: >-
Optional customization and upgrade tool. This skill should be used when the user says
"initialize arness code", "arness code init", "arn-code-init", "init arness code", "setup arness code",
"arness code setup", "set up arness code", "start arness code", "upgrade arness code", "update arness code",
"configure arness code for this project", "add arness code to this project", "reconfigure arness code",
"review arness config", "customize arness config", "arness settings",
or wants to customize Arness configuration, review current settings, or upgrade after a plugin update.
Handles both existing codebases (analyzes patterns) and greenfield projects (recommends patterns
based on technology choices). Also handles upgrades after plugin updates.
version: 1.1.0
Arness Init
Set up Arness for a project by analyzing or defining code patterns, choosing configuration options, and persisting everything to CLAUDE.md. This is optional — Arness auto-configures with sensible defaults on first skill invocation. Use this to customize directories, add integrations, update templates, or review your current settings.
Workflow
Step 1: Check Existing Configuration
Read the project's CLAUDE.md and look for a `## Arness` section. If no CLAUDE.md exists, create one at the project root before proceeding.
**If the section does not exist:**
- Proceed to Step 2 (fresh init)
**If the section exists:** 1. Parse all config fields from the existing `## Arness` block 2. Read the current plugin version from `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` 3. Show the user their current configuration and version comparison:
- Config template version vs current plugin version
- Number of config fields present vs expected
4. Ask via `AskUserQuestion`:
- **Review** — Show current configuration summary, no changes
- **Upgrade (recommended)** — Check for gaps and update only what's needed. Best after a plugin update.
- **Reconfigure** — Re-run the full setup flow from scratch (change directories, regenerate patterns, etc.)
- **Keep** — No changes
- If **Review** → display a clean summary of all `## Arness` fields, then exit the skill
- If **Keep** → done, exit the skill
- If **Reconfigure** → continue to Step 2, pre-filling known values as defaults
- If **Upgrade** → proceed to the **Upgrade Flow** section
---
Step 2: Detect Project State
Determine whether this is an existing codebase or a greenfield project.
Look for indicators of an existing codebase:
- Package manifests: `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `Gemfile`, `composer.json`
- Source directories: `src/`, `app/`, `lib/`, `cmd/`, `pkg/`
- Framework markers: `manage.py`, `next.config.*`, `angular.json`, `vite.config.*`, `main.go`, `main.rs`
- Meaningful source files (not just README, LICENSE, .gitignore)
**If existing codebase detected** → proceed to **Flow A** (Step 3A)
**If empty or minimal project** → proceed to **Flow B** (Step 3B)
Tell the user which flow was detected and why: "I detected an existing [language/framework] project" or "This looks like a new project with no existing code."
---
Step 3: Detect Git, Platform, and Issue Tracker
> **Note:** Step 3 runs for ALL projects (both Flow A and Flow B). Steps 3A and 3B are flow-specific and run after Step 3.
**Shared field preservation:** If `## Arness` already exists and the shared fields (Git, Platform, Issue tracker, Jira site, Jira project) are already present from a prior init (this plugin or another — e.g., arn-spark-init, arn-infra-init, or ensure-config auto-detection), **skip detection and preserve the existing values** — unless the user chose **Reconfigure** in Step 1. If these fields were set by ensure-config auto-detection, preserve them unless the user chose Reconfigure. This prevents overwriting values set by another plugin or by ensure-config in a monorepo.
Check if the project uses Git, determine the code hosting platform, and identify the issue tracker.
**3.1. Git check:** 1. Run `git rev-parse --is-inside-work-tree` to check for a git repository 2. If Git is not detected, inform the user: "This project is not a git repository. Git-dependent skills (`/arn-code-ship`, `/arn-code-review-pr`, `/arn-code-create-issue`, `/arn-code-pick-issue`) will be unavailable." Record Git: no, Platform: none, Issue tracker: none and proceed to Step 3A/3B.
**3.2. Remote classification:** 1. Run `git remote -v` and classify the remote URL:
- Contains `github.com` → candidate: **github**
- Contains `bitbucket.org` → candidate: **bitbucket**
- Neither → Platform: none, Issue tracker: none. Inform the user: "No supported platform detected. PR and issue management skills will be unavailable."
**3.3a. If candidate is github:** 1. Run `gh auth status` to check for GitHub CLI authentication 2. If authenticated → Platform: **github**, Issue tracker: **github** 3. If NOT authenticated → warn the user, suggest `gh auth login`, and **STOP init** (do not continue until resolved) 4. Create 7 Arness labels for issue management. Use `gh label create` for each label (the command is idempotent — it will skip labels that already exist):
| Label | Color | Description | |-------|-------|-------------| | `arness-backlog` | `d4c5f9` | Deferred items from PRs or postponed features | | `arness-feature-issue` | `0e8a16` | Feature requests tracked via Arness | | `arness-bug-issue` | `d93f0b` | Bug reports tracked via Arness | | `arness-priority-high` | `b60205` | High priority | | `arness-priority-medium` | `fbca04` | Medium priority | | `arness-priority-low` | `c5def5` | Low priority | | `arness-rejected` | `e4e669` | Issue reviewed and rejected as invalid or out of scope |
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-code-init/references/platform-labels.md` for label details and which skills use each label.
**3.3b. If candidate is bitbucket:** 1. Run `bkt --version` to chec
Read more
name: arn-code-init description: >- Optional customization and upgrade tool. This skill should be used when the user says "initialize arness code", "arness code init", "arn-code-init", "init arness code", "setup arness code", "arness code setup", "set up arness code", "start arness code", "upgrade arness code", "update arness code", "configure arness code for this project", "add arness code to this project", "reconfigure arness code", "review arness config", "customize arness config", "arness settings", or wants to customize Arness configuration, review current settings, or upgrade after a plugin update. Handles both existing codebases (analyzes patterns) and greenfield projects (recommends patterns based on technology choices). Also handles upgrades after plugin updates. version: 1.1.0
Arness Init
Set up Arness for a project by analyzing or defining code patterns, choosing configuration options, and persisting everything to CLAUDE.md. This is optional — Arness auto-configures with sensible defaults on first skill invocation. Use this to customize directories, add integrations, update templates, or review your current settings.
Workflow
Step 1: Check Existing Configuration
Read the project's CLAUDE.md and look for a `## Arness` section. If no CLAUDE.md exists, create one at the project root before proceeding.
**If the section does not exist:**
- Proceed to Step 2 (fresh init)
**If the section exists:** 1. Parse all config fields from the existing `## Arness` block 2. Read the current plugin version from `${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json` 3. Show the user their current configuration and version comparison:
- Config template version vs current plugin version
- Number of config fields present vs expected
4. Ask via `AskUserQuestion`:
- **Review** — Show current configuration summary, no changes
- **Upgrade (recommended)** — Check for gaps and update only what's needed. Best after a plugin update.
- **Reconfigure** — Re-run the full setup flow from scratch (change directories, regenerate patterns, etc.)
- **Keep** — No changes
- If **Review** → display a clean summary of all `## Arness` fields, then exit the skill
- If **Keep** → done, exit the skill
- If **Reconfigure** → continue to Step 2, pre-filling known values as defaults
- If **Upgrade** → proceed to the **Upgrade Flow** section
---
Step 2: Detect Project State
Determine whether this is an existing codebase or a greenfield project.
Look for indicators of an existing codebase:
- Package manifests: `package.json`, `pyproject.toml`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `Gemfile`, `composer.json`
- Source directories: `src/`, `app/`, `lib/`, `cmd/`, `pkg/`
- Framework markers: `manage.py`, `next.config.*`, `angular.json`, `vite.config.*`, `main.go`, `main.rs`
- Meaningful source files (not just README, LICENSE, .gitignore)
**If existing codebase detected** → proceed to **Flow A** (Step 3A)
**If empty or minimal project** → proceed to **Flow B** (Step 3B)
Tell the user which flow was detected and why: "I detected an existing [language/framework] project" or "This looks like a new project with no existing code."
---
Step 3: Detect Git, Platform, and Issue Tracker
> **Note:** Step 3 runs for ALL projects (both Flow A and Flow B). Steps 3A and 3B are flow-specific and run after Step 3.
**Shared field preservation:** If `## Arness` already exists and the shared fields (Git, Platform, Issue tracker, Jira site, Jira project) are already present from a prior init (this plugin or another — e.g., arn-spark-init, arn-infra-init, or ensure-config auto-detection), **skip detection and preserve the existing values** — unless the user chose **Reconfigure** in Step 1. If these fields were set by ensure-config auto-detection, preserve them unless the user chose Reconfigure. This prevents overwriting values set by another plugin or by ensure-config in a monorepo.
Check if the project uses Git, determine the code hosting platform, and identify the issue tracker.
**3.1. Git check:** 1. Run `git rev-parse --is-inside-work-tree` to check for a git repository 2. If Git is not detected, inform the user: "This project is not a git repository. Git-dependent skills (`/arn-code-ship`, `/arn-code-review-pr`, `/arn-code-create-issue`, `/arn-code-pick-issue`) will be unavailable." Record Git: no, Platform: none, Issue tracker: none and proceed to Step 3A/3B.
**3.2. Remote classification:** 1. Run `git remote -v` and classify the remote URL:
- Contains `github.com` → candidate: **github**
- Contains `bitbucket.org` → candidate: **bitbucket**
- Neither → Platform: none, Issue tracker: none. Inform the user: "No supported platform detected. PR and issue management skills will be unavailable."
**3.3a. If candidate is github:** 1. Run `gh auth status` to check for GitHub CLI authentication 2. If authenticated → Platform: **github**, Issue tracker: **github** 3. If NOT authenticated → warn the user, suggest `gh auth login`, and **STOP init** (do not continue until resolved) 4. Create 7 Arness labels for issue management. Use `gh label create` for each label (the command is idempotent — it will skip labels that already exist):
| Label | Color | Description | |-------|-------|-------------| | `arness-backlog` | `d4c5f9` | Deferred items from PRs or postponed features | | `arness-feature-issue` | `0e8a16` | Feature requests tracked via Arness | | `arness-bug-issue` | `d93f0b` | Bug reports tracked via Arness | | `arness-priority-high` | `b60205` | High priority | | `arness-priority-medium` | `fbca04` | Medium priority | | `arness-priority-low` | `c5def5` | Low priority | | `arness-rejected` | `e4e669` | Issue reviewed and rejected as invalid or out of scope |
> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-code-init/references/platform-labels.md` for label details and which skills use each label.
**3.3b. If candidate is bitbucket:** 1. Run `bkt --version` to chec
Showing the first part of this file.
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.
Repo: AppsVortex/arness
Other skills on arness.
- /arn-assessing
This skill should be used when the user says "assessing", "arness assessing", "assess", "assess codebase", "technical review", "codebase assessment", "find improvements", "what should I improve", "tech debt review", "pattern compliance check", "codebase health check",
Open skill - /arn-code-assess
This skill should be used when the user says "arness code assess", "arn-code-assess", "assess codebase", "technical review", "codebase assessment", "find improvements", "what should I improve", "tech debt review", "tech debt audit", "pattern compliance check", "codebase health
Open skill - /arn-code-batch-cve-fix
This skill should be used when the user says "fix CVEs", "patch vulnerabilities", "apply security patches", "resolve security advisories", "batch CVE fix", "patch dependencies", "fix security findings", "remediate CVEs", "apply CVE fixes", "batch fix vulnerabilities", "resolve
Open skill - /arn-code-batch-cve-scan
This skill should be used when the user says "scan for CVEs", "CVE scan", "check for vulnerabilities", "find vulnerabilities", "check security advisories", "dependabot triage", "dependabot scan", "scan dependencies for security issues", "audit dependencies", "vulnerability
Open skill - /arn-code-batch-implement
This skill should be used when the user says "batch implement", "implement all", "batch execution", "implement all features", "parallel implement", "implement in parallel", "arness batch implement", "arn-code-batch-implement", "run batch implementation", "implement everything",
Open skill - /arn-code-batch-merge
This skill should be used when the user says "batch merge", "merge batch", "arness batch merge", "arn-code-batch-merge", "merge all PRs", "merge batch PRs", "merge the batch", "merge implemented features", "batch merge PRs", "merge open PRs", "merge all feature PRs", "combine
Open skill

