detail
Internal bridge from /arc:ideate feature specs to /arc:implement execution plans. Creates implementation plans with exact file paths, test code, and TDD cycles. Invoked by /arc:implement, not directly.
What this skill does
<tool_restrictions>
# MANDATORY Tool Restrictions
## BANNED TOOLS — calling these is a skill violation:
- **`EnterPlanMode`** — BANNED. Do NOT call this tool. This skill IS the planning process. The steps below replace Claude's built-in planning entirely. You are NOT doing a task that needs plan mode — you ARE already executing a structured plan-creation process. Calling EnterPlanMode would bypass the skill and waste the user's time.
- **`ExitPlanMode`** — BANNED. You are never in plan mode. There is nothing to exit.
If you feel the urge to "plan before acting" — that urge is satisfied by following the `<process>` steps below. They ARE the plan. Execute them directly.
</tool_restrictions>
<arc_runtime>
This workflow requires the full Arc bundle, not a prompts-only install.
Paths in this skill use these conventions:
- `agents/...`, `references/...`, `disciplines/...`, `templates/...`, `scripts/...`, `rules/...`, `skills/<name>/...` are Arc-owned files at the plugin root. Resolve the plugin root from this skill's filesystem location — it's the directory containing `agents/` and `skills/`.
- `./...` is local to this skill's directory.
- `.ruler/...`, `docs/...`, `src/...`, or any project-relative path refers to the user's project repository.
</arc_runtime>
<required_reading>
**Read these reference files NOW:**
1. references/testing-patterns.md
2. references/task-granularity.md
3. references/arc-paths.md
**Load these only if relevant:**
- references/model-strategy.md — if dispatching build agents
- references/component-design.md — React component patterns
</required_reading>
<hard_rules>
**Before writing the plan file**, present a brief summary of what you intend to plan (scope, task count estimate, key decisions) and use the `AskUserQuestion` interaction pattern to confirm. Plans must not appear without user input.
</hard_rules>
<process>
## Step 1: Detect Project Stack
**Use Glob tool to detect in parallel:**
| Check | Glob Pattern |
| --------------- | ----------------------------------------------------------------------------- |
| Test frameworks | `vitest.config.*`, `playwright.config.*`, `jest.config.*`, `cypress.config.*` |
| Package manager | `pnpm-lock.yaml`, `yarn.lock`, `package-lock.json` |
| Python project | `requirements.txt`, `pyproject.toml` |
**Use Grep tool on `package.json`:**
- Pattern: `"next"` → Next.js
- Pattern: `"react"` → React
**Record detected stack:**
- Test runner: [vitest/jest/playwright/cypress/pytest]
- Package manager: [pnpm/yarn/npm/pip/uv]
- Framework: [next/react/fastapi/etc]
## Step 2: Load Feature Spec
**Find the feature spec:**
```
Primary: docs/arc/specs/*-spec.md
Fallbacks:
- docs/arc/specs/*.md
- docs/plans/*-spec.md
- docs/plans/*-design.md
```
Pick the most recent one (highest date prefix). Read it. This is the source of truth for what to build.
**Derive implementation plan filename:** Replace `-spec.md` or legacy `-design.md` with `-implementation.md`.
- Feature spec: `docs/arc/specs/2025-06-15-user-dashboard-spec.md`
- Implementation: `docs/arc/plans/2025-06-15-user-dashboard-implementation.md`
## Step 2.2: Lock File Structure Before Tasks
Before defining tasks, write a short file map:
- Which files will be created or modified
- What responsibility each file owns
- Where boundaries or interfaces matter
- Whether any file is already too large or too tangled for a clean change
If the feature spec implies multiple independent subsystems, stop and split the work into
separate plans instead of forcing everything into one implementation plan.
**Extract from the feature spec:**
- User stories / acceptance criteria
- UI requirements and any external visual source
- Data model
- Component structure
- API surface
## Step 2.5: Find Reusable Patterns (Parallel Agents)
**Build a read-only codebase map first when available:**
```bash
python3 scripts/codebase-map.py . --format markdown
```
Use the map to orient the pattern search around the project's framework, routes, data layer, service boundaries, largest files, high fan-in/fan-out modules, and import cycles. Treat the map as navigation context only; implementation tasks must still cite exact files from direct inspection.
**Spawn agents to find existing code to leverage:**
```
Task Explore model: haiku: "Find existing patterns in this codebase that we can
reuse for: [list components/features from spec].
Look for: similar components, utility functions, hooks, types, test patterns.
Start from this codebase map when deciding where to look:
[paste scripts/codebase-map.py markdown output if available]
Structure your findings as:
## Reusable Code
- `file:line` — what it provides and how to use it
## Similar Implementations
- Feature and entry point file:line
## Essential Files for This Feature
List 5-10 files most critical to understand before implementing:
- `file.ts` — why it matters
"
Task Explore model: haiku: "Analyze coding conventions in this project. What naming patterns,
file organization, and architectural patterns should new code follow?"
```
**If using unfamiliar libraries/APIs:**
```
Task general-purpose model: haiku: "Gather documentation and best practices for
[library name] focusing on [specific feature needed]."
```
**When agents complete:**
- List reusable code (with file paths)
- Note conventions to follow
- **Share Essential Files list** — these should be read before implementation
- Update task breakdown to use existing utilities
## Step 3: Break Down Into Tasks
**Each task = one TDD cycle (2-5 minutes), written as XML:**
Tasks are executable prompts, not documentation. A fresh-context agent should be able to execute any task from the XML alone. See `references/task-granularity.md` for the full XML schema.
```xml
<task id="1" depends="" type="auto">
<name>Create user authentication types</name>
<files>
<create>src/types/auth.ts</create>
<test>src/types/auth.test.ts</test>
</files>
<read_first>
src/types/user.ts
</read_first>
<action>
Define LoginCredentials, AuthSession, and AuthError types.
Use zod schemas for runtime validation.
Import User type from src/types/user.ts.
</action>
<test_code>
// exact test code
</test_code>
<verify>
pnpm vitest run src/types/auth.test.ts — all pass
pnpm tsc --noEmit — no type errors
</verify>
<done>Auth types exported, zod schemas validate, tests pass</done>
<commit>feat(auth): add authentication types with zod validation</commit>
</task>
```
**Required elements per task:** `<name>`, `<files>`, `<read_first>`, `<action>`, `<test_code>`, `<verify>`, `<done>`, `<commit>`. See `references/task-granularity.md` for details.
**Key rules for task content:**
- `<action>` must contain inline values (env vars, function signatures, library choices with rationale) — never "look it up"
- `<verify>` must be concrete commands or observable states — never "works correctly" or "looks good"
- `<read_first>` lists files the agent must verify before acting — prevents assumptions about file state
### Checkpoint Tasks
When a task requires human judgment, use the appropriate `type` attribute:
```xml
<task id="5" depends="1,2,3,4" type="checkpoint:verify">
<name>Verify dashboard layout</name>
<action>
Agent starts dev server automatically before presenting checkpoint.
Verify at http://localhost:3000/dashboard:
1. Desktop (>1024px): Sidebar visible, content fills remaining
2. Tablet (768px): Sidebar collapses
3. Mobile (375px): Single column layout
</action>
<verify>User approves or describes issues</verify>
<done>Dashboard layout approved at all breakpoints</done>
</task>
<task id="3" depends="" type="checkpoint:decide">
<name>Select authentication provider</name>
<action>
Options:
1. Clerk — Best DX, pre-built UI, paid after 10k MAU
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.