| name | rfe-creator.setup |
| description | Set up or update the rfe-creator submodule and wire its skills into the current project. Use this skill whenever the user wants to install rfe-creator skills, fix broken skill symlinks, update rfe-creator to the latest version, or troubleshoot missing RFE scripts/rubric. Also use when skills like /rfe.create, /rfe.review, or /rfe.submit fail because scripts are missing — that means the setup hasn't been run. |
| user-invocable | true |
| allowed-tools | Bash, Read, Write, Glob, Grep |
You are setting up (or updating) the rfe-creator repo as a git submodule in the current project and wiring its skills, scripts, and toolchain so they work seamlessly.
Arguments
Parse the user's input for:
--update: Update the submodule to the latest remote commit and re-verify symlinks. If no flag is provided and the submodule already exists, default to update behavior.
- No arguments: Full setup from scratch.
Platform Detection
Detect the platform early — it determines how symlinks are created:
uname -s
- MINGW / MSYS / CYGWIN***: Windows (Git Bash). Use
cmd //c mklink /D for symlinks.
- Linux / Darwin: Use
ln -s with relative paths.
On Windows, ln -s in Git Bash creates copies (not symlinks) and PowerShell's New-Item -ItemType SymbolicLink requires admin elevation for directories. Only cmd mklink /D works with Developer Mode enabled. This is non-obvious and the reason this skill exists.
Step 1: Submodule
Check if the submodule already exists:
git submodule status vendor/rfe-creator
If missing: Add it:
git submodule add https://github.com/jwforres/rfe-creator vendor/rfe-creator
If present and --update: Pull latest:
git submodule update --remote vendor/rfe-creator
Step 2: Git Config (Windows only)
On Windows, enable symlink support so git tracks symlinks correctly (mode 120000) instead of creating text stub files:
git config core.symlinks true
Skip on Linux/Mac — symlinks work natively.
Step 3: Skill Symlinks
Get the list of skills from the submodule:
ls vendor/rfe-creator/.claude/skills/
For each skill directory, check if a symlink already exists in .claude/skills/. Skip any that already exist and resolve correctly.
Windows — create each symlink via a batch file to avoid bash-to-cmd escaping issues:
Write a temporary _setup-symlinks.bat:
@echo off
cd /d "<project-root>\.claude\skills"
mklink /D "<skill-name>" "..\..\vendor\rfe-creator\.claude\skills\<skill-name>"
Include one mklink line per missing skill, then run:
cmd //c "<project-root>\\_setup-symlinks.bat"
Delete the batch file after.
Linux/Mac — create relative symlinks directly:
cd .claude/skills
ln -s "../../vendor/rfe-creator/.claude/skills/<skill-name>" "<skill-name>"
Step 4: Scripts Symlink
The rfe-creator skills reference scripts/ at the project root. If scripts/ doesn't exist, create a symlink to the submodule's scripts directory.
Windows:
cmd //c "mklink /D scripts vendor\rfe-creator\scripts"
Linux/Mac:
ln -s vendor/rfe-creator/scripts scripts
If scripts/ already exists and is NOT a symlink, warn the user — they have a local scripts directory that would conflict. Do not overwrite it.
Step 5: Create Required Directories
The toolchain expects these directories to exist:
mkdir -p artifacts/rfe-tasks artifacts/rfe-reviews tmp
Step 6: Bootstrap Toolchain
Run the bootstrap script to clone the assess-rfe plugin and export the rubric:
bash scripts/bootstrap-assess-rfe.sh
If the rubric wasn't exported (check for artifacts/rfe-rubric.md), try the export manually:
python3 .context/assess-rfe/scripts/export_rubric.py
If both fail, note it as non-critical — skills will work but without rubric-guided quality scoring.
Step 7: Verify
Run these checks and report results:
- Submodule present:
git submodule status vendor/rfe-creator shows a commit hash
- Skill symlinks resolve: For each symlink in
.claude/skills/, verify the target contains a SKILL.md file. Count working vs broken.
- Scripts accessible:
ls scripts/state.py succeeds
- Python dependencies:
python3 -c "import yaml" succeeds. If not, tell the user to run pip install pyyaml.
- Rubric available:
artifacts/rfe-rubric.md exists
- Git tracks symlinks:
git ls-files -s .claude/skills/<any-rfe-skill> shows mode 120000
Report a summary table:
| Check | Status |
|---------------------|--------|
| Submodule | OK |
| Skills (16/16) | OK |
| Scripts symlink | OK |
| Python dependencies | OK |
| Rubric | OK |
| Git symlink mode | OK |
If any check fails, explain what went wrong and how to fix it.
Step 8: Remind
Tell the user:
Setup complete. Restart Claude Code (or Cursor) to pick up the new skills. The new skills won't appear in the skill list until the session is restarted.
After restarting, you'll have access to these rfe-creator skills: /rfe.create, /rfe.review, /rfe.submit, /rfe.split, /rfe.speedrun, /rfe.auto-fix, /strat.create, /strat.review, /strat.refine, /strat.prioritize, and review skills (/architecture-review, /feasibility-review, /scope-review, /testability-review).
To update to the latest rfe-creator version later, run /rfe-creator.setup --update.
Troubleshooting
If the user reports that skills aren't loading after restart:
- Check that symlinks resolve:
ls -la .claude/skills/ | grep "^l" (Linux) or check for <SYMLINKD> in cmd //c dir .claude\skills (Windows)
- On Windows, verify Developer Mode is enabled in Settings → For Developers
- Verify
core.symlinks is true: git config core.symlinks
- If symlinks show as regular files (not
120000 mode), the user may need to delete them and re-run this skill