From arn-code
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 check", "assess the project", "improvement plan", "review my codebase", "what needs fixing", "code quality check", "audit my code", "run an assessment", or wants a comprehensive technical assessment of the codebase against stored patterns followed by prioritized improvement execution through the full Arness pipeline.
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.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Run a comprehensive technical assessment of the codebase against stored patterns, let the user prioritize findings, then orchestrate the full Arness pipeline (spec → plan → execute → test → ship) for multiple improvements in a single session.
This skill is a sequencer and decision-gate handler, like arn-planning. It MUST NOT duplicate sub-skill or agent logic. All pipeline work is done by the invoked skills and agents. This skill handles: scope selection, assessment orchestration, finding prioritization, multi-spec pipeline management, and progress display.
Check for a ## Arness section in the project's CLAUDE.md. If missing, inform the user: "Arness is not configured for this project yet. Run /arn-assessing to get started — it will set everything up automatically." Do not proceed without it.
Additionally, verify that pattern files exist at the configured code-patterns path. At minimum, these must exist:
code-patterns.mdtesting-patterns.mdarchitecture.mdIf any required pattern file is missing, inform the user: "Pattern documentation is incomplete. Run /arn-assessing which will generate pattern docs on first use."
The skill pauses at exactly 7 gates. Steps marked (auto) flow without stopping.
| Gate | When | Question | Options |
|---|---|---|---|
| G1 | Entry | "What would you like to assess?" | Entire codebase / Specific area |
| G2 | After assessment | "Ready to prioritize?" | Prioritize / Investigate further |
| G3 | After prioritization | "How should improvements be organized?" | Bundle all / Separate specs / Arness suggests groupings |
| G4 | After all plans generated | "Plans ready. Proceed?" | Approve all / Revise specific plan / Remove a spec |
| G5 | Before each subsequent spec execution | "Conflict detected" (conditional) | Re-plan / Proceed / Skip |
| G6 | After test results | "Tests [pass/fail]. Proceed?" | Ship / Fix and re-test / Abort |
| G7 | Final | "Ship it?" | Commit, push & PR / Just commit / Not yet |
Arness Assess: scope → assess → prioritize → spec(s) → plan all → save all → [taskify+execute]×N → test → ship
## Arness section.code-patterns.md (required)testing-patterns.md (required)architecture.md (required)ui-patterns.md (optional — sets has_ui_patterns = true)security-patterns.md (optional — sets has_security_patterns = true)Check for existing assessment artifacts:
| Artifact | Detected State |
|---|---|
ASSESSMENT_*.md in specs-dir + executed plans with reports | Near-complete — resume at test gate |
ASSESSMENT_*.md in specs-dir + project folders with TASKS.md | Mid-execution — resume at taskify+execute |
ASSESSMENT_*.md in specs-dir + PLAN_PREVIEW files | Plans ready — resume at G4 |
ASSESSMENT_*.md in specs-dir + FEATURE specs matching assessment IDs | Specs written — resume at plan all |
ASSESSMENT_*.md in specs-dir only | Assessment done — resume at G2 (prioritize) |
| None | Fresh start — begin at G1 |
If artifacts detected, ask: "It looks like you have an in-progress assessment. Resume from [stage], or start fresh?"
Show progress:
Arness Assess: SCOPE → assess → prioritize → spec(s) → plan → save → execute → test → ship ^^^^^
Even if the user triggered the skill with arguments (e.g., "assess the auth module"), confirm scope with AskUserQuestion:
"What would you like to assess?"
Options:
If specific area: ask the user to describe the area (module name, directory path, or concern like "authentication" or "API layer").
Store the scope for agent invocations. Derive a scope name for the assessment file:
full-codebaseauth-module, api-layer)Show progress:
Arness Assess: scope → ASSESS → prioritize → spec(s) → plan → save → execute → test → ship ^^^^^^
Inform: "Running assessment agents against stored patterns..."
Read the assessment protocol:
Read ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-assess/references/assessment-protocol.md
Agent invocations — launch all applicable agents in parallel:
Always invoke arn-code-architect with:
code-patterns.md, testing-patterns.md, architecture.mdIf has_ui_patterns is true, also invoke arn-code-ux-specialist with:
ui-patterns.md, architecture.md, code-patterns.mdIf has_security_patterns is true, also invoke arn-code-security-specialist with:
security-patterns.md, architecture.md, code-patterns.mdAll applicable agents are invoked in parallel (single message, multiple Agent tool calls).
After all agents return:
Follow the merge, deduplication, ID assignment, and report generation procedures defined in the assessment protocol. Write the assessment report to <specs-dir>/ASSESSMENT_<scope-name>.md.
Present the findings to the user grouped by category with severity indicators.
If no findings: "Assessment found no significant deviations from stored patterns. Your codebase is in good shape!" — exit gracefully.
Show progress:
Arness Assess: scope → assess → PRIORITIZE → spec(s) → plan → save → execute → test → ship ^^^^^^^^^^
Ask: "These are the assessment findings. Ready to prioritize, or would you like to investigate any finding further?"
If the user wants to investigate: discuss the specific finding, read relevant files, provide more context. Return to this gate when done.
Present findings as a numbered list (grouped by severity: high first). Ask:
"Select which improvements to implement (comma-separated numbers, 'all', or 'all high'):"
After selection, proceed to G3.
Ask with AskUserQuestion:
"How should these improvements be organized into specifications?"
Options:
If "Let Arness suggest groupings":
Store the final bundles as spec_bundles — a list where each entry has a name and a list of finding IDs.
Show progress:
Arness Assess: scope → assess → prioritize → SPEC(s) → plan → save → execute → test → ship ^^^^^^^
For each bundle in spec_bundles:
Compose a feature description from the bundled findings:
Invoke Skill: arn-code:arn-code-feature-spec with the composed description as context.
After each spec is created, track the spec filename in spec_list.
If arn-code-feature-spec fails for a bundle, offer to split into individual findings and retry.
Show progress:
Arness Assess: scope → assess → prioritize → spec(s) → PLAN → save → execute → test → ship ^^^^
Inform: "Generating plans for all specs..."
For each spec in spec_list:
Skill: arn-code:arn-code-plan <spec-name>Present all generated plans with a brief summary of each (phase count, task count, estimated scope).
Ask with AskUserQuestion:
"Plans are ready. How would you like to proceed?"
Options:
If Revise: ask which plan and what feedback, re-invoke arn-code:arn-code-plan, return to this gate.
If Remove: mark the spec as skipped in state tracking, return to this gate with remaining plans.
Continue until the user approves.
Show progress:
Arness Assess: scope → assess → prioritize → spec(s) → plan → SAVE → execute → test → ship ^^^^
Inform: "Converting plans to structured projects..."
For each approved plan:
Skill: arn-code:arn-code-save-planShow progress:
Arness Assess: scope → assess → prioritize → spec(s) → plan → save → EXECUTE → test → ship ^^^^^^^
Read the orchestration flow:
Read ${CLAUDE_PLUGIN_ROOT}/skills/arn-code-assess/references/orchestration-flow.md
Determine execution order using the ordering heuristic from the orchestration flow. Present the suggested order and allow the user to override.
For each spec in execution order:
Conflict check (skip for the first spec):
AskUserQuestion:
arn-code:arn-code-plan and arn-code:arn-code-save-plan for this specTaskify: Invoke Skill: arn-code:arn-code-taskify
Execute: Invoke Skill: arn-code:arn-code-execute-plan
Track results: Collect execution reports, extract list of files modified, update spec state
If execution fails mid-spec:
Show progress:
Arness Assess: scope → assess → prioritize → spec(s) → plan → save → execute → TEST → ship ^^^^
Invoke the arn-code-test-specialist agent via the Agent tool with:
Gate G6 — based on verdict:
If ALL PASSING: "All tests pass. Ready to ship."
If FAILURES DETECTED or ERRORS DETECTED:
Present the failures from the test report
Ask with AskUserQuestion:
"Tests have failures. How would you like to proceed?"
Options:
arn-code-test-specialistLoop on option 1 until tests pass or user chooses another option.
Show progress:
Arness Assess: scope → assess → prioritize → spec(s) → plan → save → execute → test → SHIP ^^^^
Ask with AskUserQuestion:
"Ready to ship?"
Options:
/arn-code-ship later)If Commit, push & create PR or Just commit:
→ Skill: arn-code:arn-code-ship
If Not yet: show what was completed and inform the user they can ship later.
Show final progress:
Arness Assess: scope → assess → prioritize → spec(s) → plan → save → execute → test → ship
✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
Present completion summary:
"Assessment pipeline complete. Run /arn-code-assess again anytime to review your codebase."
/arn-code-assess again (artifact detection will pick up)./arn-assessing to get started.