From arn-spark
This skill should be used when the user says "dev setup", "arn spark dev setup", "development environment", "configure dev environment", "dev container", "configure CI", "set up CI", "onboard developer", "developer setup", "set up docker", "configure development", "how do I set up this project", "development setup", "onboard me", "get this project running", "set up my machine", "new developer setup", "how do I get started", "developer onboarding", or wants to define a standardized development environment for their project (producing dev environment infrastructure files and a dev-setup document) or follow an existing environment standard to get onboarded as a new developer.
npx claudepluginhub appsvortex/arness --plugin arn-sparkThis skill uses the workspace's default tool permissions.
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.
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.
Guides NCR investigations, root cause analysis, CAPA management, SPC interpretation, and supplier quality control in FDA/IATF16949/AS9100 regulated manufacturing.
Define or follow a standardized development environment through guided conversation, aided by the arn-spark-dev-env-builder agent for file generation and optionally the arn-spark-tech-evaluator agent for environment comparisons. This is a conversational skill that runs in normal conversation (NOT plan mode). The primary artifacts are development environment infrastructure files (setup scripts, container configs, CI workflows, toolchain pins) and a dev-setup document.
This skill covers the development environment: how developers get the project running on their machines, how CI builds and tests, and how toolchain versions are pinned for reproducibility. It does not create project source code (that is /arn-spark-scaffold) or validate technical risks (that is /arn-spark-spike).
This skill operates in two modes:
The following artifacts inform the development environment. Check in order:
Architecture vision (recommended):
CLAUDE.md for a ## Arness section. If found, check the configured Vision directory for architecture-vision.md## Arness section found, check .arness/vision/architecture-vision.md at the project rootIf an architecture vision is found: Read it for stack decisions (framework, languages, platform targets, system dependencies).
If no architecture vision is found: Ask the user to describe their stack: "No architecture vision found. Describe your technology stack and target platforms so I can configure the development environment."
Scaffolded project (recommended):
Check for package.json, Cargo.toml, or similar at the project root to detect what dependencies and tooling are already configured.
If the project is scaffolded: Use existing manifests and configs for context.
If the project is not scaffolded: Warn the user: "The project does not appear to be scaffolded yet. I can define the development environment conceptually, but setup scripts will be more useful after running /arn-spark-scaffold." Proceed with the conversation.
Read CLAUDE.md and check for a ## Arness section with a ### Dev Environment subsection.
If ### Dev Environment exists:
"A development environment is already configured for this project:
Type: [type from CLAUDE.md] Platforms: [platforms from CLAUDE.md]
Ask (using AskUserQuestion):
"A development environment is already configured. What would you like to do?"
Options:
If no ### Dev Environment exists:
Proceed to Define Mode (Step 2).
Read available artifacts:
Identify platform-specific requirements from the stack. For example:
Present the environment options, informed by the project context:
"Your project uses [stack summary], targeting [platforms]. Based on your stack, I would suggest [recommendation with brief rationale]."
Ask (using AskUserQuestion):
"Which development environment approach fits your project?"
Options:
If the user is unsure, ask probing questions:
| Question | Guides Toward |
|---|---|
| "Does the project need native windowing or hardware access?" | Native or hybrid (containers cannot easily access GUI/hardware) |
| "Will developers be on different OS platforms?" | Stronger need for setup scripts and CI matrix |
| "Are there backend services or databases to manage?" | Docker compose or hybrid |
| "How important is onboarding speed vs. environment control?" | Dev container (fast onboard) vs. native (more control) |
| "Is this a team project or solo?" | Team → stronger standardization; solo → lighter setup |
Based on the chosen approach, explore the details conversationally:
For all approaches:
Ask (using AskUserQuestion) with multiSelect: true:
"Which platforms should the setup support? (select multiple)"
Options:
Default to all platforms from the architecture vision.
Ask (using AskUserQuestion):
"Do you want CI configured?"
Options:
Also ask conversationally:
For native environments:
For dev containers:
For Docker / Docker Compose:
For hybrid:
Confirm the full specification before proceeding:
"Here is the development environment I will set up:
Type: [type] Platforms: [list] CI: [provider or none] Toolchain pins: [list] Generated files: [list of what will be created]
Ready to generate, or want to adjust anything?"
Invoke the arn-spark-dev-env-builder agent with:
The agent creates all infrastructure files, setup scripts, CI workflows, toolchain pins, and CONTRIBUTING.md.
Read the template:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-dev-setup/references/dev-setup-template.md
Populate the template with all decisions from the conversation and the builder's report:
Determine the output directory:
CLAUDE.md and check for a ## Arness section## Arness section exists or Arness Spark fields are missing, inform the user: "Arness Spark is not configured for this project yet. Run /arn-brainstorming to get started — it will set everything up automatically." Do not proceed without it.Write the document as dev-setup.md
Write or update the ### Dev Environment subsection in the ## Arness section of CLAUDE.md:
If no ## Arness section exists:
Create a minimal ## Arness section with the dev environment configuration:
## Arness
### Dev Environment
- **Type:** [native / dev-container / docker / docker-compose / hybrid]
- **Platforms:** [linux, macos, windows]
- **CI provider:** [github-actions / gitlab-ci / none]
- **Setup doc:** [path to dev-setup.md]
- **Setup script:** [path to setup script, if applicable]
If ## Arness section exists but no ### Dev Environment:
Append the ### Dev Environment subsection to the existing ## Arness section.
If ### Dev Environment already exists:
Replace it with the updated configuration.
Read the verification checklist:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-dev-setup/references/dev-setup-checklist.md
Walk through the applicable checklist categories. Then present results:
"Development environment configured. Here is what was set up:
Environment: [type] for [platforms]
Files created:
CLAUDE.md updated with dev environment configuration.
Verification:
Recommended next steps:
/arn-spark-spike to test technical risks from your architecture vision/arn-spark-style-explore to define the look and feel/arn-spark-dev-setup to onboard"After Step 1 detects existing configuration and the user chooses to follow it:
### Dev Environment subsection from CLAUDE.md for the environment type and key pathsdev-setup.md document for detailed setup instructions"This project uses a [type] development environment targeting [platforms].
What you need: [Prerequisites from dev-setup.md, filtered for the current platform]
Setup steps:
Ready to proceed with setup?"
Walk the developer through each setup step from dev-setup.md:
[path]. Shall I run it for you?"If the developer wants to deviate:
"That differs from the project's standard development environment ([type]). The standard is used by CI and other developers.
You can proceed with your preference, but be aware:
Continue with your preference, or follow the standard?"
Record the deviation but do not block the developer.
Read the verification checklist:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-spark-dev-setup/references/dev-setup-checklist.md
Focus on Build Verification (category 4):
"Environment setup complete. Your project builds and runs.
Verification:
You are ready to start developing. If you encounter issues, check the troubleshooting section in [path to dev-setup.md]."
| Situation | Action |
|---|---|
| Generate environment files (Define Step 5) | Invoke arn-spark-dev-env-builder with full specification |
| Run setup script during onboard (Step O3) | Offer to run the setup script directly; invoke arn-spark-dev-env-builder only if the script fails and needs diagnosis |
| User asks about container image options | Discuss options, invoke arn-spark-tech-evaluator for comparison if needed |
| User asks about CI provider differences | Discuss briefly, invoke arn-spark-tech-evaluator for deep comparison if needed |
| User asks about technology choices (framework, languages) | Defer: "Technology choices are in the architecture vision. This skill configures the development environment for the chosen stack." |
| User asks about project structure or dependencies | Defer: "Project structure is set up by /arn-spark-scaffold. This skill configures the environment around the existing project." |
| User asks about code patterns or features | Defer: "Code patterns come during feature development. The dev environment just needs to support building and testing." |
| Setup script fails during onboard | Consult troubleshooting, invoke builder to diagnose if needed |
No architecture vision found: Proceed with the user's description of the stack. Dev environment can be configured from a verbal stack description.
Project not scaffolded: Warn that auto-detection of dependencies will be limited. Proceed with manual specification. Setup scripts can be updated after scaffolding.
Dev setup already configured (Define mode):
Ask (using AskUserQuestion):
A development environment is already configured at
[path]. How would you like to proceed?
- Replace — Reconfigure the entire development environment
- Update — Update specific parts (CI, scripts, container config)
Setup script fails: Report the error. Invoke the builder to fix. If it fails after 3 attempts, present the error and the manual steps the developer can follow.
Container build fails: Report the error. Invoke the builder to diagnose. Common issues: missing system dependencies, wrong base image, network problems during build.
CI workflow invalid: Report the YAML error. Invoke the builder to fix the syntax.
User cancels mid-setup: Note what was completed. The user can re-run /arn-spark-dev-setup to continue. In Define mode, any files already generated are usable.
Writing CLAUDE.md fails: Print the configuration block in the conversation so the user can add it manually.
Platform not available for testing: Note the platform as untested. The setup script and CI will validate on that platform when it becomes available.
dev-setup.md not found (Onboard mode): Check for CONTRIBUTING.md or README with setup instructions as fallback. If nothing found, inform the developer: "The setup document is missing. Ask the project maintainer to run /arn-spark-dev-setup in Define mode, or describe the setup and I will guide you."