# Gentle AI Issue Creation

Create and triage GitHub issues from repository evidence.

- Repository: https://github.com/Gentleman-Programming/gentle-shell (1519 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Gentleman-Programming/gentle-shell --skill gentle-ai-issue-creation -g -a claude-code -y`
Codex: `npx skills add Gentleman-Programming/gentle-shell --skill gentle-ai-issue-creation -g -a codex -y`
Cursor: `npx skills add Gentleman-Programming/gentle-shell --skill gentle-ai-issue-creation -g -a cursor -y`
Gemini CLI: `npx skills add Gentleman-Programming/gentle-shell --skill gentle-ai-issue-creation -g -a gemini-cli -y`

## Description

Create and triage GitHub issues from repository evidence. Trigger: issue creation, bug reports, feature requests, or issue approval.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Issue Creation

## Core Rule

Discover the target repository's contribution workflow before proposing or publishing. YAML Issue Forms are the format authority for the default automated path: materialize reviewed answers into a private `BODY_FILE` and publish with `--body-file`.

## Safe Discovery

Before any `gh auth status` or target read, require explicit human authorization for the remote destination (exact host and repository), operation (including discovery and intended issue creation), and credential/session to use. A local checkout is not authorization. If any is missing or ambiguous, stop locally; never probe credentials or sessions to resolve ambiguity. Run the checks below only with the authorized credential/session against the authorized destination; if `gh auth status` would inspect other credentials/sessions, do not run it. Verify the discovered `REPO`, `HOST`, and `TARGET` match the authorized destination before continuing; never switch identities or targets implicitly.

After that gate, run read-only checks:

```bash
gh auth status
REPO="$(gh repo view --json nameWithOwner -q .nameWithOwner)"
REPO_URL="$(gh repo view --json url -q .url)"
HOST="${REPO_URL#*://}"
HOST="${HOST%%/*}"
TARGET="$HOST/$REPO"
gh repo view --json nameWithOwner,url,hasDiscussionsEnabled,hasIssuesEnabled,isBlankIssuesEnabled
git ls-files README.md CONTRIBUTING.md CONTRIBUTING.* .github/CONTRIBUTING.md .github/ISSUE_TEMPLATE .github/ISSUE_TEMPLATE/config.yml
gh api --hostname "$HOST" --paginate "repos/$REPO/labels?per_page=100" --jq '.[].name'
```

The rest: https://github.com/Gentleman-Programming/gentle-shell/blob/HEAD/skills/issue-creation/SKILL.md
