mcpField
R
ralph-github-create-issues

ralph-github-create-issues

github.com/richtabor開発7340 回インストール29 週間前に更新
リポジトリ

ralph-github-create-issues について

ralph-github-create-issuesは、ローカルのPRDや計画をGitHub Issuesに変換するスキルです。親機能とストーリーのIssue作成を案内し、検出した依存関係を扱ったうえで、元ファイルを削除するか確認します。

主な機能

  1. 01一般的なフォルダーからPRDや計画を検索
  2. 02親IssueとストーリーIssueを作成
  3. 03Issue間の依存関係を記録
  4. 04GitHub CLIの認証状態を確認

活用シーン

  1. 01承認済みの計画を追跡可能なGitHub作業に変換
  2. 02PRDを親IssueとストーリーIssueに分割
  3. 03計画した機能間の依存関係を表現

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/richtabor/agent-skills --skill ralph-github-create-issues

インストール後、Claude Code で/ralph-github-create-issuesを入力して読み込まれたか確認します。

同梱ファイルreferences/best-practices.md

詳細

PRD の課題を作成する

ローカルの PRD または計画ファイルを GitHub Issues に変換します。

使用方法

/ralph-create-github-issues              # Looks in .claude/plans/ then prds/
/ralph-create-github-issues auth-flow    # Convert specific PRD by name

ストーリーの規模設定と受け入れ条件のガイダンスについては、references/best-practices.md を参照してください。

事前確認

次の確認を実行します。重大な確認に失敗した場合は中止してください。

# 1. Auth check
gh auth status

# 2. Find plan/PRD files — check all locations
ls .claude/plans/*.md 2>/dev/null
ls plans/*.md 2>/dev/null
ls prds/*.md 2>/dev/null

# 3. PRD not already an issue (stop if found open)
gh issue list --label prd --state all --json number,title,state

# 4. Ensure prd label exists
gh label create prd --description "Product Requirements Document" --color "0052CC" 2>/dev/null || true

# 5. Get existing PRDs for dependency matching
gh issue list --label prd --state open --json number,title
計画ファイルの場所

次の場所を順に確認してください。

  1. .claude/plans/ — 計画モードで承認済みの計画が保存される場所です。ここが主な参照元です。
  2. plans/ — プロジェクトレベルの計画ディレクトリです。
  3. prds/ — 計画モードで生成されていない独立した PRD です。

複数の場所にファイルがある場合は、すべて列挙し、どれを変換するか尋ねてください。ファイルが 1 つだけ見つかった場合は、それをそのまま使用してください。どの場所にもファイルが見つからない場合は、PRD/計画ファイルのパスをユーザーに尋ねてください。

PRD の Markdown をスキャンして、依存関係の参照(「depends on X」、「see feature.md」)を探してください。一致した箇所は後で使えるように記録してください。

注: gh sub-issue と gh issue-dependency はすでにインストールされているものとします。インストールを試みないでください。コマンドを実行し、失敗した場合はその手順をスキップして続行してください。

Issue を作成する

親 Issue
gh issue create \
  --title "Feature Name" \
  --label "prd" \
  --label "enhancement" \
  --body "$(cat <<'EOF'
## Overview
<From PRD intro>

## Branch
`feature/<name>`

## Quality Gates
```bash
npm run typecheck
npm run lint
npm test

実装順序

  1. ストーリー 1
  2. ストーリー 2 EOF )"

### Sub-Issues

For each story:

```bash
# Create issue
gh issue create \
  --title "Story Title" \
  --body "$(cat <<'EOF'
**Files:** `path/to/file.tsx`

**Acceptance Criteria:**
- [ ] Specific change
- [ ] Typecheck passes
- [ ] Lint passes

**Notes:**
Context if needed.
EOF
)"

# Link to parent
gh sub-issue add <parent> <child>
依存関係

事前確認で依存関係が検出された場合は、GraphQL API を使用してください(拡張機能は不要です)。

# Get repo info
OWNER=$(gh repo view --json owner -q '.owner.login')
REPO=$(gh repo view --json name -q '.name')

# Get node IDs (replace 50 and 42 with actual issue numbers)
BLOCKED_ID=$(gh api graphql -f query="{ repository(owner: \"$OWNER\", name: \"$REPO\") { issue(number: 50) { id } } }" --jq '.data.repository.issue.id')
BLOCKING_ID=$(gh api graphql -f query="{ repository(owner: \"$OWNER\", name: \"$REPO\") { issue(number: 42) { id } } }" --jq '.data.repository.issue.id')

# Add blocked-by relationship
gh api graphql -f query="mutation { addBlockedBy(input: {issueId: \"$BLOCKED_ID\", blockingIssueId: \"$BLOCKING_ID\"}) { clientMutationId } }"

出力

Created: #50 - Feature Name
  → #51 Story One
  → #52 Story Two

Dependencies: Blocked by #42 (Auth Flow)
Branch: feature/<name>

Run: /ralph-github-start-loop

次に、以下を尋ねてください。

Remove local plan/PRD file? <path> (y/n)

「はい」の場合は、ソースファイルを削除してください。以後は GitHub Issue を信頼できる唯一の情報源とします。

コメント