본문으로 건너뛰기
cccskills
무료GitHub에 공개

to-issues-project

Break a PRD into native GitHub sub-issues attached to the parent PRD. Project-local variant of /to-issues, adapted for this repo's PRD-as-parent + native sub-issues + agent:implement multi-session workflow. Argument is the parent PRD issue number.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(1)

  • SKILL.md5.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

To Issues (project)

Break a parent PRD into a flat list of native GitHub sub-issues, in execution order. Each sub-issue is a tracer-bullet vertical slice that the PRD-mode agent:implement workflow will pick up one at a time.

Inputs

  • Argument: the parent PRD's issue number. If the user invoked the skill without one, ask for it (or for a URL).
  • Conversation context (optional): any planning that's already happened. Use it.

Process

1. Fetch the PRD

gh issue view <PRD_NUMBER> --comments

Read the body carefully. The PRD is the spec. Don't add scope; don't redesign. If the PRD is ambiguous, ask the user to clarify before drafting slices — the slices should reflect the PRD as-is, not your interpretation.

2. Confirm there are no existing sub-issues

gh api repos/$GH_REPO/issues/<PRD_NUMBER>/sub_issues --jq 'length'

If non-zero, stop and ask the user whether to (a) abort, (b) add more on top of what's there, or (c) close/delete the existing ones first. Don't silently double up.

3. Explore the codebase (optional)

If you haven't already, explore the repo to understand the area you're touching. Use the project's domain glossary (GLOSSARY.md) and respect ADRs under docs/adr/. Sub-issue titles and bodies should use the project's vocabulary.

Look for opportunities to prefactor the code to make the implementation easier. "Make the change easy, then make the easy change."

4. Draft vertical slices

Break the PRD into tracer-bullet sub-issues. Each slice is a thin vertical cut through every layer (schema → API → UI → tests), NOT a horizontal slice of one layer.

<vertical-slice-rules> - Each slice delivers a narrow but COMPLETE path through every layer - A completed slice is demoable or verifiable on its own - Sub-issues are **flat** — a sub-issue must not itself need sub-issues. If a slice is too big to leaf, split it into multiple peer slices instead of nesting - Any prefactoring should be done first, in its own slice(s) at the start of the list - Sub-issues run in **list order** under the PRD. Order them so dependencies are satisfied: if slice B builds on slice A's schema, A must come first </vertical-slice-rules>

The PRD-mode workflow implements sub-issues one at a time, each in its own agent session, committing to a shared branch. Keep that in mind:

  • Each slice must stand on its own in a single session — no slice should require state from a previous session beyond what's on the branch.
  • A reasonable session can build a couple of files, write tests, and run typecheck/test. Don't draft slices that are unrealistic for one session.

5. Quiz the user

Present the proposed breakdown as a numbered list. For each slice, show:

  • Title — short, imperative
  • What it builds — one or two sentences
  • Depends on — which earlier slice(s) it builds on (by position in the list), or "none"

Ask:

  • Is the granularity right? (too coarse / too fine)
  • Is the order right?
  • Should any slices be merged, split, or dropped?

Iterate until the user approves.

6. Publish sub-issues to GitHub

Publish in order. For each slice:

  1. Create the issue:

    gh issue create --title "<title>" --body "$(cat <<'EOF'
    <body — see template>
    EOF
    )"
    

    This prints the new issue URL. Capture the issue number.

  2. Get its node ID (needed by the sub-issues API):

    gh api repos/$GH_REPO/issues/<sub_issue_number> --jq '.id'
    

    The .id field is the REST integer ID. Save it.

  3. Attach as sub-issue of the PRD:

    gh api -X POST "repos/$GH_REPO/issues/<PRD_NUMBER>/sub_issues" \
      -f sub_issue_id=<sub_issue_id>
    

    This is the native sub-issues link — it shows up in the PRD's progress bar and is what the agent-implement-prd.yml workflow reads.

Do not apply agent:implement to the sub-issues — they're never labeled directly. The user (or you, if asked) adds agent:implement to the PRD when ready to start work.

7. Sub-issue body template

<sub-issue-template> ## Parent PRD

#<PRD_NUMBER>

What to build

A concise description of this slice's end-to-end behavior. One to three short paragraphs. Frame it around what the slice delivers, not which files change.

Avoid specific file paths or code snippets — they go stale fast.

Exception: a prototype-derived snippet (state machine, reducer, schema, type shape) may be inlined when prose can't encode the decision as precisely. Trim to the decision-rich parts.

Acceptance criteria

  • Concrete, checkable outcome 1
  • Concrete, checkable outcome 2
  • Tests cover the new behavior

Depends on

If this slice builds on an earlier sub-issue's work, name it (e.g. "Sub-issue #N — <title>"). If not, omit this section. </sub-issue-template>

The body intentionally does NOT include a Closes directive. Closing this sub-issue is the PRD-mode workflow's job (it closes the sub-issue at the end of its implementation run). Closing the PRD itself happens when the bundled PR merges via Closes #<PRD> in the PR description.

After publishing

  • Output the PRD URL and the count of sub-issues attached.
  • Tell the user: "Add agent:implement to PRD #<N> when ready. The workflow will implement sub-issues in order, accumulating commits on a single agent/prd-<N>-... branch, and open a draft PR after the first sub-issue."
  • Remind them that the order of sub-issues in the PRD determines execution order. If they want to reorder, they can drag in the GitHub UI before labeling, or use the PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority endpoint.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Ship a Drizzle schema change end to end — generate the migration, merge, hand Matt the migrate command, redeploy apps/remote, confirm it is green. Use whenever a change adds or edits a file under packages/core/db/migrations/ or changes packages/core/db/schema.ts, or when an apps/remote deploy failed with "production has not applied".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

do-work

무료

End-to-end implementation workflow. Use when user wants to implement a feature, fix a bug, or make changes and have everything validated and committed.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

Generate or update documentation for the AI Hero API by reading the source code at ~/repos/ai/course-builder. Use when user wants to document, update docs for, or understand the AI Hero API endpoints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

Survey the codebase, pick ONE high-leverage deepening opportunity (filtering out anything already proposed), and publish it as a PRD-shaped GitHub issue via /to-prd-project. Designed to run unattended in the daily architecture-review workflow.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

Install @effect/* packages safely. Use whenever adding a new Effect ecosystem dependency.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

Optimize slow React Router loaders by eliminating redundant DB queries, creating slim query variants, and parallelizing independent fetches. Use proactively when writing or reviewing loader code that calls domain operations services (e.g. CourseOperationsService, VideoOperationsService), or when triaging a slow page load.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mattpocock/course-video-manager8272026년 10월 19일 업데이트

mattpocock의 스킬 모두 보기

이 스킬의 문제 신고