carbon-pr
Post the development footprint of the current branch as a sticky PR comment
Install this skill
or
93/100
Security score
The carbon-pr skill was audited on Sep 16, 2026 and we found 7 security issues across 1 threat category. Review the findings below before installing.
Categories Tested
Security Issues
low line 22
Command substitution pattern
SourceSKILL.md
| 20 | esac |
| 21 | } |
| 22 | CFG="$(ccp "${CLAUDE_CONFIG_DIR:-$HOME/.claude}")" |
| 23 | REPO_DIR="" |
| 24 | if command -v jq >/dev/null 2>&1 && [ -f "$CFG/settings.json" ]; then |
low line 25
Command substitution pattern
SourceSKILL.md
| 23 | REPO_DIR="" |
| 24 | if command -v jq >/dev/null 2>&1 && [ -f "$CFG/settings.json" ]; then |
| 25 | SL_CMD="$(jq -r '.statusLine.command // empty' "$CFG/settings.json" 2>/dev/null)" |
| 26 | # statusLine.command stores a shell-escaped path: expand ~ and unescape spaces |
| 27 | SL_CMD="${SL_CMD//\\ / }"; SL_CMD="${SL_CMD/#\~/$HOME}"; SL_CMD="$(ccp "$SL_CMD")" |
low line 27
Command substitution pattern
SourceSKILL.md
| 25 | SL_CMD="$(jq -r '.statusLine.command // empty' "$CFG/settings.json" 2>/dev/null)" |
| 26 | # statusLine.command stores a shell-escaped path: expand ~ and unescape spaces |
| 27 | SL_CMD="${SL_CMD//\\ / }"; SL_CMD="${SL_CMD/#\~/$HOME}"; SL_CMD="$(ccp "$SL_CMD")" |
| 28 | [ -n "$SL_CMD" ] && [ -f "$SL_CMD" ] && REPO_DIR="$(cd "$(dirname "$SL_CMD")/.." 2>/dev/null && pwd)" |
| 29 | fi |
low line 28
Command substitution pattern
SourceSKILL.md
| 26 | # statusLine.command stores a shell-escaped path: expand ~ and unescape spaces |
| 27 | SL_CMD="${SL_CMD//\\ / }"; SL_CMD="${SL_CMD/#\~/$HOME}"; SL_CMD="$(ccp "$SL_CMD")" |
| 28 | [ -n "$SL_CMD" ] && [ -f "$SL_CMD" ] && REPO_DIR="$(cd "$(dirname "$SL_CMD")/.." 2>/dev/null && pwd)" |
| 29 | fi |
| 30 | [ -z "$REPO_DIR" ] && [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && REPO_DIR="$(ccp "$CLAUDE_PLUGIN_ROOT")" |
low line 30
Command substitution pattern
SourceSKILL.md
| 28 | [ -n "$SL_CMD" ] && [ -f "$SL_CMD" ] && REPO_DIR="$(cd "$(dirname "$SL_CMD")/.." 2>/dev/null && pwd)" |
| 29 | fi |
| 30 | [ -z "$REPO_DIR" ] && [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && REPO_DIR="$(ccp "$CLAUDE_PLUGIN_ROOT")" |
| 31 | [ -z "$REPO_DIR" ] && [ -n "${CLAUDE_CARBON_DIR:-}" ] && REPO_DIR="$(ccp "$CLAUDE_CARBON_DIR")" |
| 32 | if [ -z "$REPO_DIR" ]; then |
low line 31
Command substitution pattern
SourceSKILL.md
| 29 | fi |
| 30 | [ -z "$REPO_DIR" ] && [ -n "${CLAUDE_PLUGIN_ROOT:-}" ] && REPO_DIR="$(ccp "$CLAUDE_PLUGIN_ROOT")" |
| 31 | [ -z "$REPO_DIR" ] && [ -n "${CLAUDE_CARBON_DIR:-}" ] && REPO_DIR="$(ccp "$CLAUDE_CARBON_DIR")" |
| 32 | if [ -z "$REPO_DIR" ]; then |
| 33 | # Pure marketplace installs reach here: no statusLine.command in settings.json and |
low line 39
Command substitution pattern
SourceSKILL.md
| 37 | for D in "$CFG/plugins/cache"/*/claude-carbon/*/; do |
| 38 | [ -f "${D}scripts/generate-pr-report.sh" ] || continue |
| 39 | if [ -z "$CACHE_LATEST" ] || [ "$(printf '%s\n%s\n' "$CACHE_LATEST" "$D" | sort -V | tail -1)" = "$D" ]; then |
| 40 | CACHE_LATEST="$D" |
| 41 | fi |
Scanned on Sep 16, 2026
View Security DashboardGitHub Stars 194
Rate this skill
Categorydevelopment
UpdatedSeptember 27, 2026
gwittebolle/claude-carbon