원클릭으로
mapache-github-issue
Work from or create GitHub issues with repository context, labels, clarification, and implementation flow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Work from or create GitHub issues with repository context, labels, clarification, and implementation flow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
QA a Mapache preview with the runner-owned browser QA command, status checks, console logs, screenshots, and structured reports.
Host an app or API behind the Mapache preview gateway.
Build static web output where the Mapache preview canvas can serve it.
Run or compose Mapache browser QA tests from checked-in e2e/qa case manifests using Chrome DevTools. Use when the user explicitly asks for QA testing, smoke testing, browser testing, end-to-end testing, or a named QA case, and when issue-workflow changes frontend behavior and requires QA before PR completion.
Use when the user provides a GitHub issue number and wants Codex to complete the whole implementation workflow: update local main from remote, read the issue and comments, create an issue-named branch, implement and test the change, compose and run QA for frontend changes, commit, push, open a pull request, return to main, and comment or label the issue when blocked or waiting on user action.
Route agents through the Mapache developer wiki before non-trivial implementation work.
| name | mapache-github-issue |
| description | Work from or create GitHub issues with repository context, labels, clarification, and implementation flow. |
Use this skill when the user gives a GitHub issue number, such as "work on issue 42" or "fix #42", or asks you to create GitHub issues for repository work.
Use this shell shape, replacing ISSUE_NUMBER:
ISSUE_NUMBER=123
OWNER="$GITHUB_REPO_OWNER"
REPO="$GITHUB_REPO_NAME"
if [ -z "$OWNER" ] || [ -z "$REPO" ]; then
REMOTE_URL="$(git remote get-url origin)"
OWNER_REPO="$(printf '%s' "$REMOTE_URL" | sed -E 's#^https://github.com/([^/]+)/([^/.]+)(\.git)?$#\1/\2#; s#^git@github.com:([^/]+)/([^/.]+)(\.git)?$#\1/\2#')"
OWNER="${OWNER_REPO%%/*}"
REPO="${OWNER_REPO#*/}"
fi
AUTH_HEADER=()
if [ -n "$GITHUB_AUTOMATION_TOKEN" ]; then
AUTH_HEADER=(-H "Authorization: Bearer $GITHUB_AUTOMATION_TOKEN")
fi
curl -fsSL "${AUTH_HEADER[@]}" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/$OWNER/$REPO/issues/$ISSUE_NUMBER" \
> "/tmp/mapache-issue-$ISSUE_NUMBER.json"
curl -fsSL "${AUTH_HEADER[@]}" \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/$OWNER/$REPO/issues/$ISSUE_NUMBER/comments?per_page=100" \
> "/tmp/mapache-issue-$ISSUE_NUMBER-comments.json"
When creating issues, inspect the relevant code and docs first so the title, body, labels, and acceptance criteria match the repository. Ask before creating an issue if the scope, owner, expected behavior, or product decision is unclear.
Apply labels in two groups:
bug, feature, or docs.trivial, easy, medium, hard, or heroic.Use bug for broken existing behavior, regressions, failed workflows, or incorrect output. Use feature for new behavior or meaningful enhancements. Use docs for documentation-only work.
Use difficulty labels as T-shirt sizing for implementation effort:
trivial: obvious localized edit with very low risk.easy: small scoped change using known patterns.medium: multi-file or moderate design/testing work.hard: cross-cutting behavior, unclear edge cases, migration, or deployment risk.heroic: large ambiguous work that should probably be broken into smaller issues.If the repository does not already have one of the required labels, still mention the intended type and difficulty in the issue body and note that the label was unavailable.
Before editing, make sure the base branch is current. Prefer the selected upstream branch, then main, then master.
Use this shell shape:
ASKPASS_FILE=""
if [ -n "$GITHUB_AUTOMATION_TOKEN" ]; then
ASKPASS_FILE="$(mktemp)"
chmod 700 "$ASKPASS_FILE"
cat > "$ASKPASS_FILE" <<'MAPACHE_ASKPASS'
#!/bin/sh
case "$1" in
*Username*) printf '%s\n' "${GITHUB_AUTOMATION_USERNAME:-x-access-token}" ;;
*Password*) printf '%s\n' "$GITHUB_AUTOMATION_TOKEN" ;;
*) printf '\n' ;;
esac
MAPACHE_ASKPASS
export GIT_ASKPASS="$ASKPASS_FILE"
export GIT_TERMINAL_PROMPT=0
trap 'rm -f "$ASKPASS_FILE"' EXIT
fi
BASE_BRANCH="$GITHUB_REQUESTED_BRANCH"
if [ -z "$BASE_BRANCH" ]; then
if git ls-remote --exit-code --heads origin main >/dev/null 2>&1; then
BASE_BRANCH=main
elif git ls-remote --exit-code --heads origin master >/dev/null 2>&1; then
BASE_BRANCH=master
else
BASE_BRANCH="$(git branch --show-current)"
fi
fi
git fetch --prune origin "$BASE_BRANCH"
CURRENT_BRANCH="$(git branch --show-current)"
if [ "$CURRENT_BRANCH" = "$BASE_BRANCH" ]; then
git pull --ff-only origin "$BASE_BRANCH"
elif [ -n "$CURRENT_BRANCH" ]; then
if ! git merge-base --is-ancestor "origin/$BASE_BRANCH" HEAD; then
if [ -n "$(git status --porcelain=1)" ]; then
echo "Local changes exist before base update; ask the user before rebasing."
exit 1
fi
git rebase "origin/$BASE_BRANCH"
fi
else
git checkout -B "$BASE_BRANCH" "origin/$BASE_BRANCH"
fi
Do not merge main or another base branch into a mapache/* branch after implementation work has started. If the base moves while work is in progress, stop and ask before rebasing or merging.
Read the issue title, body, labels, state, author, assignees, linked comments, and any acceptance criteria. Then inspect the repository for relevant files, tests, and documentation.
Ask clarifying questions before editing when any of these are true:
If the issue is actionable without clarification, proceed without asking.
git add, verify git status --short, and commit with a concise issue-focused message.mapache/* automation branch, do not push or open the pull request manually unless the user asks. The runner will push the branch and open the pull request when the Pi process exits.