Todo GitHub
Overview
Turn a task checklist into GitHub issues for the current repository using the GH CLI. Include a quick repo scan, dedupe against existing issues, and clear issue bodies with acceptance criteria and likely touchpoints.
Workflow (PowerShell)
1) Confirm repo and auth
- Run
gh repo view --json nameWithOwner,url to confirm the target repository.
- If needed, set default repo with
gh repo set-default OWNER/REPO.
- Verify login with
gh auth status.
2) Quick context scan
- Read
README.md and DOCS.MD to understand architecture and current behavior.
- Read
AGENTS.md for local workflow rules.
- If tasks mention specific subsystems, skim those folders and files with
rg --files and rg "keyword".
3) Dedupe and plan issues
- List open issues:
gh issue list --state open --limit 200.
- Search for close matches:
gh issue list --search "keyword".
- To pick what to work on, list issues with details:
gh issue list --state open --limit 200 --json number,title,labels,updatedAt,url
- Create one issue per checklist item unless the user says to consolidate.
- Preserve the checklist title text and punctuation exactly (including any prefix).
4) Compose issue content
Use this body template (adjust as needed):
## Summary
<1-2 lines on the problem and desired outcome>
## Done when
- <acceptance criteria>
- ...
## Likely touchpoints
- `path/`
- `path/`
## Notes
- <repro hints, edge cases, constraints>
Guidelines:
- Copy "Done when" criteria verbatim from the user when provided.
- Keep "Likely touchpoints" focused on concrete paths in the repo.
- Include safety constraints (for example, "save raw Markdown text") in Summary or Notes.
5) Create issues safely (avoid PowerShell quoting errors)
Preferred pattern:
@'
## Summary
...
'@ | gh issue create --title "Exact issue title" --body-file -
Notes:
- The
--body-file - pipeline avoids quoting errors and preserves newlines.
- If the title includes single quotes, wrap the title in double quotes.
- If the title includes double quotes, wrap the title in single quotes and escape single quotes by doubling them.
6) Update issues with comments (default) and update ISSUES.md
When adding new information to an existing issue, append it as a comment using gh issue comment.
Do not rewrite or edit the original issue body unless the user explicitly asks to do so.
If the user requests a body edit, use gh issue edit and mention what changed.
Keep ISSUES.md in the repo root as the source-of-truth list of issues.
After creating each issue, append/update a single line with: #<number> - <title> - <url>.
On issue resolution, remove the line (or move to a resolved section if the user requests).
Make sure ISSUES.md always matches the current GitHub issue state.
Example line:
#9 - FIX — Markdown support + Settings switch (write with Markdown elements) - https://github.com/nibzard/scribe/issues/9
7) Confirm and report
- Capture issue URLs from the
gh issue create output.
- Report the issue numbers and titles back to the user.
Troubleshooting
- If you see
unknown arguments ..., it is a quoting issue. Re-run with --body-file - and a here-string.
- If you see
not logged in, run gh auth login and retry.
- If the repo is wrong, run
gh repo set-default OWNER/REPO, then re-run.
Quality checklist
- Ensure the issue title matches the checklist item exactly.
- Ensure the body includes Summary, Done when, and Likely touchpoints.
- Ensure acceptance criteria are explicit and testable.
- Ensure each issue is independent unless the user asked to group items.
Optional enhancements
- Use labels:
--label "bug" or --label "fix".
- Use milestones:
--milestone "vX.Y.Z".
- Use projects:
--project "Scribe".
1---2name: todo-github3description: Create, update, and access task lists as GitHub issues for this repo using GH CLI; use when asked to research repo context and turn a checklist into issues.4---56# Todo GitHub78## Overview910Turn a task checklist into GitHub issues for the current repository using the GH CLI. Include a quick repo scan, dedupe against existing issues, and clear issue bodies with acceptance criteria and likely touchpoints.1112## Workflow (PowerShell)1314### 1) Confirm repo and auth1516- Run `gh repo view --json nameWithOwner,url` to confirm the target repository.17- If needed, set default repo with `gh repo set-default OWNER/REPO`.18- Verify login with `gh auth status`.1920### 2) Quick context scan2122- Read `README.md` and `DOCS.MD` to understand architecture and current behavior.23- Read `AGENTS.md` for local workflow rules.24- If tasks mention specific subsystems, skim those folders and files with `rg --files` and `rg "keyword"`.2526### 3) Dedupe and plan issues2728- List open issues: `gh issue list --state open --limit 200`.29- Search for close matches: `gh issue list --search "keyword"`.30- To pick what to work on, list issues with details:31 - `gh issue list --state open --limit 200 --json number,title,labels,updatedAt,url`32- Create one issue per checklist item unless the user says to consolidate.33- Preserve the checklist title text and punctuation exactly (including any prefix).3435### 4) Compose issue content3637Use this body template (adjust as needed):3839```40## Summary41<1-2 lines on the problem and desired outcome>4243## Done when44- <acceptance criteria>45- ...4647## Likely touchpoints48- `path/`49- `path/`5051## Notes52- <repro hints, edge cases, constraints>53```5455Guidelines:56- Copy "Done when" criteria verbatim from the user when provided.57- Keep "Likely touchpoints" focused on concrete paths in the repo.58- Include safety constraints (for example, "save raw Markdown text") in Summary or Notes.5960### 5) Create issues safely (avoid PowerShell quoting errors)6162Preferred pattern:6364```65@'66## Summary67...68'@ | gh issue create --title "Exact issue title" --body-file -69```7071Notes:72- The `--body-file -` pipeline avoids quoting errors and preserves newlines.73- If the title includes single quotes, wrap the title in double quotes.74- If the title includes double quotes, wrap the title in single quotes and escape single quotes by doubling them.7576### 6) Update issues with comments (default) and update ISSUES.md7778- When adding new information to an existing issue, **append it as a comment** using `gh issue comment`.79- Do **not** rewrite or edit the original issue body unless the user explicitly asks to do so.80- If the user requests a body edit, use `gh issue edit` and mention what changed.8182- Keep `ISSUES.md` in the repo root as the source-of-truth list of issues.83- After creating each issue, append/update a single line with: `#<number> - <title> - <url>`.84- On issue resolution, remove the line (or move to a resolved section if the user requests).85- Make sure `ISSUES.md` always matches the current GitHub issue state.8687Example line:8889```90#9 - FIX — Markdown support + Settings switch (write with Markdown elements) - https://github.com/nibzard/scribe/issues/991```9293### 7) Confirm and report9495- Capture issue URLs from the `gh issue create` output.96- Report the issue numbers and titles back to the user.9798## Troubleshooting99100- If you see `unknown arguments ...`, it is a quoting issue. Re-run with `--body-file -` and a here-string.101- If you see `not logged in`, run `gh auth login` and retry.102- If the repo is wrong, run `gh repo set-default OWNER/REPO`, then re-run.103104## Quality checklist105106- Ensure the issue title matches the checklist item exactly.107- Ensure the body includes Summary, Done when, and Likely touchpoints.108- Ensure acceptance criteria are explicit and testable.109- Ensure each issue is independent unless the user asked to group items.110111## Optional enhancements112113- Use labels: `--label "bug"` or `--label "fix"`.114- Use milestones: `--milestone "vX.Y.Z"`.115- Use projects: `--project "Scribe"`.