Skip to content
Development
Skill

/arn-spark-prototype-lock

This skill should be used when the user says "prototype lock", "lock prototype", "arn prototype lock", "freeze prototype", "preserve prototype", "snapshot prototype", "protect prototype", "archive prototype", "save the prototype", "don't overwrite the prototype", "lock the

From plugin
arness
3590 skills48 agents

Claude Code

$ npx -y skills add AppsVortex/arness --skill arn-spark-prototype-lock --agent claude-code

SKILL.md

arn-spark-prototype-lock.SKILL.md
name: arn-spark-prototype-lock
description: >-
  This skill should be used when the user says "prototype lock", "lock prototype",
  "arn prototype lock", "freeze prototype", "preserve prototype",
  "snapshot prototype", "protect prototype", "archive prototype",
  "save the prototype", "don't overwrite the prototype",
  "lock the design", "freeze the design",
  or wants to create a frozen snapshot of the validated prototype before
  development begins, preventing production code from overwriting the
  validated reference artifact.
version: 1.0.0

Arness Prototype Lock

Create a frozen, independently servable snapshot of the validated prototype before development code begins to modify shared source files. The primary artifacts are a **frozen prototype copy**, **CLAUDE.md guardrail rules** that prevent agents from modifying prototype files, an optional **PreToolUse hook** for enforcement, and a **git tag** marking the prototype completion point.

This skill addresses the problem: once development starts, production code overwrites prototype components because they share the same source files. The locked copy preserves the validated design reference for visual comparison and rollback.

Prerequisites

Read the project's `CLAUDE.md` for a `## Arness` section. If no `## 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.

Extract:

  • **Prototypes directory** (default: `.arness/prototypes`)
  • **Vision directory** (default: `.arness/vision`)
  • **Git** (yes/no)
  • **Platform** (github/bitbucket/none)

Check for prototype validation evidence: 1. Check for `[prototypes-dir]/clickable/final-report.md` -- if found, read it. Extract the latest version number and judge verdict. 2. Check for `[prototypes-dir]/static/final-report.md` -- same. 3. Check for `[prototypes-dir]/criteria.md`

**If no prototype validation evidence found:** Inform the user: "No prototype validation results found. This skill works best after `/arn-spark-clickable-prototype` or `/arn-spark-static-prototype` has validated a prototype. You can still lock any existing prototype files. What prototype source should I preserve?"

**If validation found but judge verdict was FAIL:** Warn the user: "The latest prototype version (v[N]) received a FAIL verdict from the judge. Are you sure you want to lock this version, or would you prefer to run more validation cycles first?"

Check for architecture vision to detect the stack: 1. Read `architecture-vision.md` from the Vision directory 2. Extract: UI framework (Svelte/SvelteKit, React/Next.js, Vue/Nuxt, etc.), application framework (Tauri, Electron, plain web), package manager

Workflow

Step 1: Inventory Prototype Artifacts

Scan the prototypes directory structure. Build an inventory:

"I found the following prototype artifacts:

**Clickable prototype:**

  • Latest version: v[N] (Judge: [PASS/FAIL])
  • App source: [prototypes-dir]/clickable/v[N]/app/ ([X] files, [Y] KB)
  • Journey screenshots: [prototypes-dir]/clickable/v[N]/journeys/ ([Z] files)
  • Showcase: [prototypes-dir]/clickable/v[N]/showcase/ ([W] files)
  • Review/judge reports: [list]

**Static prototype:**

  • Latest version: v[M] (Judge: [PASS/FAIL])
  • Showcase: [prototypes-dir]/static/v[M]/showcase/ ([A] files)
  • Review/judge reports: [list]

**Shared:**

  • Criteria: [prototypes-dir]/criteria.md

**Total size:** [calculated total]

Which version should I lock? (Default: latest passing version)"

Wait for user to confirm or specify a different version before proceeding. Do not continue until the user responds.

Step 2: Detect Stack and Plan Copy Strategy

Read the prototype app directory and detect the framework:

  • Check for `package.json` -- read for framework indicators (svelte, react, vue, next, nuxt, sveltekit)
  • Check for `Cargo.toml` if Tauri
  • Check for build configuration files (vite.config, next.config, svelte.config, etc.)

Determine copy strategy based on stack:

| Framework | Copy Strategy | Validation | |-----------|--------------|------------| | SvelteKit | Copy full app directory, exclude node_modules. Include package.json, lockfile, svelte.config, vite.config, tailwind.config, src/, static/ | `cd [dest] && [pm] install && [pm] run build` | | Next.js | Copy full app directory, exclude node_modules and .next/. Include package.json, lockfile, next.config, tsconfig, src/, public/ | `cd [dest] && [pm] install && [pm] run build` | | Vue/Nuxt | Copy full app directory, exclude node_modules and .nuxt/. Include package.json, lockfile, nuxt.config, src/ | `cd [dest] && [pm] install && [pm] run build` | | Plain HTML/CSS/JS | Copy all files directly | Open index.html in browser or serve with `npx serve` | | Tauri | Copy the webview source (follows its own framework row above). Copy src-tauri/ config only if relevant to the UI snapshot | Framework-specific build (webview only) |

Present the plan:

"**Stack detected:** [framework]

**Copy plan:**

  • Source: [prototypes-dir]/clickable/v[N]/app/
  • Destination: [prototypes-dir]/locked/clickable-v[N]/
  • Strategy: [framework-specific description]
  • Excludes: node_modules/, build output dirs (.svelte-kit/, .next/, dist/)
  • Includes: lockfile (package-lock.json/pnpm-lock.yaml/yarn.lock/bun.lockb), all config, all source

Also copying:

  • Validation evidence (review reports, judge reports, screenshots, showcase)
  • Criteria document

Proceed?"

Wait for user confirmation.

Step 3: Execute Copy

1. Create destination directory: `[prototypes-dir]/locked/clickable-v[N]/` 2. Copy the prototype app source using `cp -r` with exclusion of `node_modules/` and framework build output directories 3. Copy validation evidence:

  • Journey screenshots from the locked version
  • Showcase screenshots
  • Review and judge reports for the locked version
  • The `final-report.md` for each prototype ty
Read more
@appsvortex
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.

3590 skills48 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
35
Star history of AppsVortex/arness on GitHub, a chart by star-history.com

Other skills on arness.

arn-assessing

arn-assessing

This skill should be used when the user says "assessing", "arness assessing", "assess", "assess codebase", "technical review",…

@appsvortex@appsvortexInstall Skill
arn-code-assess

arn-code-assess

This skill should be used when the user says "arness code assess", "arn-code-assess", "tech debt audit", "assess the project", or…

@appsvortex@appsvortexInstall Skill
arn-code-batch-cve-fix

arn-code-batch-cve-fix

This skill should be used when the user says "fix CVEs", "patch vulnerabilities", "apply security patches", "batch CVE fix",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-cve-scan

arn-code-batch-cve-sca…

This skill should be used when the user says "scan for CVEs", "CVE scan", "check for vulnerabilities", "dependabot triage",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-implement

arn-code-batch-impleme…

This skill should be used when the user says "batch implement", "implement all", "batch execution", "implement all features",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-merge

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…

@appsvortex@appsvortexInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about arn-spark-prototype-lock.

Which coding agents can use arn-spark-prototype-lock?
arn-spark-prototype-lock installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.