skills/rad-source-control/SKILL.md
Source control operations — commit code or open a PR. All inputs come from the spawn prompt.
npx skillsauth add MetalHexx/RadOrchestration rad-source-controlInstall 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.
Scripts are in the scripts/ folder alongside this SKILL.md. Use their absolute path when invoking them.
ESM/CJS note. The bundled scripts use CommonJS (
require). If the workspace's rootpackage.jsondeclares"type": "module", invoking the scripts directly withnodewill fail. Proceed with directgitBash invocations: Stage files withgit add <file1> <file2> ...(nevergit add -A), commit withgit commit -m "<message>", push withgit push origin <branch>. The pre-commit hook runs automatically. Then emit the## Commit Resultblock from the resulting commit hash and push outcome.
1. Build the commit message from the spawn prompt. Derive the prefix from the task title or type (first match):
| Keywords | Prefix |
|----------|--------|
| feature, feat, new | feat |
| fix, bug, patch | fix |
| refactor, restructure, clean | refactor |
| test, testing, spec | test |
| doc, docs, documentation | docs |
| (no match) | chore |
Format: {prefix}({taskId}): {title}
Optional body: blank line then 2–4 prose lines from the task description.
2. If node invocation fails with ESM/CJS error, use direct git invocations (see note above). Otherwise, run:
node <skill-dir>/scripts/git-commit.js --worktree-path "<worktree>" --message "<message>"
3. Parse the resulting commit hash and push outcome, then emit:
## Commit Result
```json
{ "committed": <bool>, "pushed": <bool>, "commitHash": "<hash-or-null>", "error": "<msg-or-null>", "errorType": "<type-or-null>" }
```
1. If node invocation fails with ESM/CJS error, consult the ESM/CJS note; do not proceed with direct git for PR operations. Otherwise, run:
node <skill-dir>/scripts/gh-pr.js \
--worktree-path "<worktree>" \
--branch "<branch>" \
--base-branch "<base-branch>" \
--title "<project-name>" \
[--body-file "<path>"]
--body-file is the path to a markdown file that becomes the PR description on GitHub. Pass it when a body file path is provided in the prompt; omit it otherwise (PR will have no description).
2. Parse the JSON output from stdout and emit:
## PR Result
```json
{ "pr_created": <bool>, "pr_url": "<url-or-null>", "pr_number": <number-or-null>, "pr_existed": <bool>, "error": "<key-or-null>", "message": "<summary>" }
```
development
Use this skill whenever a task might involve code beyond the current working directory — when you're figuring out where code lives, scoping work that may span multiple repositories, or about to act as if the current repo is the whole system — and whenever the user wants to register, bind, describe, group, or manage repositories and repo-groups. The repo registry is your map of the repos a team works across and how they relate.
tools
Stop the detached radorch dashboard UI server (SIGTERM).
business
Report whether the radorch dashboard UI server is running, and its URL.
business
Start the radorch dashboard UI as a detached server and report the URL.