claude/ai-resources-plugin/skills/sdd-to-ralph/SKILL.md
This skill should be used when the user wants to convert completed CCSDD specs into Ralph execution artifacts. Use when user says "bridge spec to ralph", "convert sdd to ralph", "sdd to ralph", "generate ralph from spec", "prepare spec for ralph", or wants to take a cc-sdd feature spec and run it through Ralph for autonomous implementation.
npx skillsauth add amhuppert/my-ai-resources sdd-to-ralphInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convert completed CCSDD (cc-sdd) spec artifacts into Ralph execution artifacts for autonomous implementation.
.kiro/specs/<feature>/ — requirements.md, design.md, tasks.md.ralph/PROMPT.md, .ralph/fix_plan.md, updated .ralphrc, .ralph/specs/Verify both systems are installed before proceeding:
.ralph/ directory and .ralphrc file exist
ralph-enable.kiro/ directory exists with at least one spec
npx cc-sdd@latest --claudeIf either prerequisite fails, stop and report the issue.
Glob for .kiro/specs/*/spec.json to find available specs.
If 0 specs found:
.kiro/specs/"/kiro:spec-init <description> to create a feature spec first"If 1 spec found:
feature_nameIf multiple specs found:
Read the selected .kiro/specs/<feature>/spec.json and check:
approvals.requirements.generated is trueapprovals.design.generated is trueapprovals.tasks.generated is trueIf all phases complete: proceed to Step 3.
If incomplete phases detected:
/kiro:spec-requirements <feature>/kiro:spec-design <feature>/kiro:spec-tasks <feature>Read all available artifacts from .kiro/specs/<feature>/:
requirements.md — EARS-format requirementsdesign.md — technical designtasks.md — implementation tasks with parallel markersRead steering docs if they exist (for additional project context):
.kiro/steering/product.md — project vision.kiro/steering/tech.md — technology stack.kiro/steering/structure.md — directory conventionsRead Ralph configuration:
.ralphrc — current settingsIf a file doesn't exist, note it and proceed with what's available. At minimum, tasks.md must exist (it provides the fix_plan content).
Create .ralph/PROMPT.md with two parts.
Synthesize from the CCSDD artifacts read in Step 3:
# Ralph Development Instructions
## Context
[2-3 sentences from design.md overview/summary section describing what is being built]
You are Ralph, building [brief description].
## Technology Stack
[Extract from design.md "Technology Stack" section or .kiro/steering/tech.md]
[Include version numbers when available]
- [Language] [version]
- [Framework] [version]
- [Library] [version] - [purpose]
## Key Principles
[Extract top 5 design decisions/principles from design.md]
- [Principle 1]
- [Principle 2]
## Current Objectives
[Extract high-level requirement titles from requirements.md — NOT full EARS criteria]
1. [Requirement group title] - [brief description]
2. [Requirement group title] - [brief description]
## Requirements Summary
[Numbered list with brief descriptions — point to full specs for detail]
1. [Requirement name] ([N] acceptance criteria)
- [Key criteria summary]
2. [Requirement name] ([N] acceptance criteria)
- [Key criteria summary]
Full EARS-format requirements: `.ralph/specs/requirements.md`
## Design Reference
[Key architecture decisions from design.md, ~500 words max]
[Include architecture diagram if present (Mermaid syntax)]
Full technical design: `.ralph/specs/design.md`
## Quality Standards
[Extract testing/quality requirements from design.md or requirements.md]
- [Standard 1]
- [Standard 2]
<guidelines type="prompt-context">
- Summarize, don't dump — Ralph reads PROMPT.md every loop, so it must be concise
- Full specs are in `.ralph/specs/` for reference when Ralph needs detail
- Include version numbers for all technologies
- Make principles actionable — things Claude can verify
- Keep Requirements Summary to titles and key criteria only
- Design Reference should focus on architecture decisions that affect implementation
</guidelines>
Read references/ralph-operational-instructions.md and append the content block (everything inside the ```markdown fence, lines 8-139) to the end of the generated PROMPT.md.
Write the complete PROMPT.md to .ralph/PROMPT.md.
Convert CCSDD's tasks.md into Ralph's fix_plan.md using /kiro:spec-impl commands.
- [ ] or - [x])1.1, 1.2, 2.3). Skip parent-only tasks (e.g., 1. if it has 1.1, 1.2 children)1.1, 2.3)/kiro:validate-impl as final item# Fix Plan - <feature-name>
## Tasks
- [ ] /kiro:spec-impl <feature-name> 1.1
- [ ] /kiro:spec-impl <feature-name> 1.2
- [ ] /kiro:spec-impl <feature-name> 1.3
- [ ] /kiro:spec-impl <feature-name> 2.1
- [ ] /kiro:spec-impl <feature-name> 2.2
- [ ] /kiro:validate-impl <feature-name>
## Completed
## Discovered
<!-- Ralph will add discovered tasks here -->
<guidelines type="fix-plan">
- Only include leaf tasks — parent tasks are organizational groupings, not implementable units
- Preserve the task ordering from tasks.md (respects dependency structure via P0/P1/P2 ordering)
- The /kiro:validate-impl task is always last — it closes the spec→implementation→validation loop
</guidelines>
Write the complete fix_plan.md to .ralph/fix_plan.md.
Read .ralphrc and update project-specific fields. Preserve all other settings.
Update PROJECT_NAME:
feature_name from spec.jsonDetect and update PROJECT_TYPE:
typescriptpythonrustgoUpdate ALLOWED_TOOLS based on PROJECT_TYPE:
| Project Type | Add to ALLOWED_TOOLS |
| ------------ | ---------------------------------------------- |
| typescript | Bash(npm *),Bash(npx *) |
| python | Bash(pip *),Bash(python *),Bash(pytest) |
| rust | Bash(cargo *) |
| go | Bash(go *) |
| All types | Write,Read,Edit,Bash(git *) (always include) |
Do NOT modify: MAX_CALLS_PER_HOUR, CLAUDE_TIMEOUT_MINUTES, SESSION_CONTINUITY, SESSION_EXPIRY_HOURS, circuit breaker thresholds, or any other existing settings.
Write updated .ralphrc.
Create .ralph/specs/ directory if it doesn't exist. Copy CCSDD spec files so Ralph can reference them during implementation:
.kiro/specs/<feature>/requirements.md → .ralph/specs/requirements.md.kiro/specs/<feature>/design.md → .ralph/specs/design.md.kiro/specs/<feature>/research.md → .ralph/specs/research.md (if exists)Read back generated files and verify:
---RALPH_STATUS--- (exact string)EXIT_SIGNAL examples## Tasks section- [ ] /kiro:spec-impl item## Completed section## Discovered section/kiro:validate-impl as final task itemIf any check fails: report the specific failure but do NOT delete files. Suggest re-running or manual fix.
Display results to the user:
Successfully bridged CCSDD spec to Ralph!
Feature: <feature-name>
Tasks: N spec-impl commands + validation
/kiro:spec-impl <feature-name> 1.1
/kiro:spec-impl <feature-name> 1.2
...
/kiro:validate-impl <feature-name>
Files Generated:
.ralph/PROMPT.md
.ralph/fix_plan.md
.ralph/specs/requirements.md
.ralph/specs/design.md
Configuration Updated:
.ralphrc PROJECT_NAME = "<feature-name>"
.ralphrc PROJECT_TYPE = "<type>"
[Any warnings about incomplete phases, etc.]
Next Steps:
1. Review .ralph/PROMPT.md and .ralph/fix_plan.md
2. Run: ralph --monitor
No .ralph/ directory:
ralph-enable first."No .kiro/ directory:
npx cc-sdd@latest --claude first."Empty or missing tasks.md:
/kiro:spec-tasks <feature> to generate tasks."Missing steering docs:
Tasks without parallel markers:
Corrupted spec.json:
tools
Use when picking or vetting a keyboard shortcut on macOS. Triggers include "what hotkey should I use for X", "is `<combo>` available", "does this shortcut conflict", "recommend a keybinding for…", "check `<combo>` against my setup", "pick a hotkey for…", or any mention of choosing/binding/changing a shortcut in WezTerm, tmux, Zed, Chrome, Claude Code, or macOS. Determines whether a proposed combo collides with OS-reserved bindings, app defaults, or the user's customizations, and recommends ergonomic alternatives when needed.
development
Detect and remove dead code with knip. Use when the user asks to "run knip", "find unused files", "find unused exports", "find unused dependencies", "clean up dead code", "remove dead code", "set up knip", "configure knip", "knip.json", "knip false positive", "knip CI", or mentions a `knip` config, dependency bloat, bundle bloat from unused imports, or tree-shaking unused exports. Covers the configuration-first workflow, confidence-gated deletion, framework-specific gotchas (Next.js 15+, Tailwind, Storybook, Jest, Bun's test runner and `bun build --compile`), monorepos, CI integration, and performance tuning.
tools
This skill should be used when the user asks to "set up react-scan", "install react-scan", "diagnose React re-renders", "find unnecessary renders", "find unstable props", "automate React render checks with Playwright", "react-scan + playwright", "measure component renders programmatically", "check why a React component is slow", or mentions React rendering issues, slow React interactions, render counts, or component-level perf attribution. Covers install across Next.js/Vite/Remix/script-tag/browser-extension, the lite headless API for CI, and the canonical render-attribution → fix → validate loop driven through Playwright.
documentation
This skill should be used when integrating source material into a knowledge base, including when the user asks to "integrate this document into the knowledge base", "add this transcript to the memory bank", "ingest this document", "update the knowledge base", "analyze a new source document", or "sync current-state docs with this source".