plan-to-issue
Skill1 starsChanged 4 months agoApache-2.0View on GitHub
Use when the user wants to turn the just-approved plan from the current conversation into a self-contained GitHub issue that another agent can implement cold.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- muhammadrivaldy/agent-skillstheir own version, first seen Jun 30, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- muhammadrivaldy/agent-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- feature-development-workflowSkill
- gh-release-train-mergeSkill
- github-project-boardSkill
- implement-issueSkill
- nist-buildSkill
- nist-designSkill
- nist-planSkill
- nist-releaseSkill
- nist-respondSkill
- nist-testSkill
- prettifySkill
- pr-from-branchSkill
- release-candidate-reviewSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
21 rules. About 0 are common, 18 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈18
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Use the most recently approved plan in the conversation as the source of truth, including any user refinements made during approval.
- Distinctive: line 16
If no agreed plan is available, stop and ask the user to point to it.
- Distinctive: line 18
If approval included changes such as "do it but skip the migration", fold those into the issue so it reflects the final agreement.
- Distinctive: line 22
Verify first. If any check fails, stop and report what is missing.
- Very specific: line 39
Before drafting, resolve implicit details against the actual codebase.
- Distinctive: line 49
If filling these gaps exposes a real ambiguity that would make the issue vague or likely wrong, stop and ask before filing.
- Distinctive: line 57
Use a conventional-commits prefix only if recent merged PRs or issues use one.
- Distinctive: line 59
Check recent title style when needed:
- Very specific: line 65
Use this body template. Omit optional sections rather than padding them, but always include Context, Files to change, Acceptance criteria, …
- Distinctive: line 110
Write for an agent with no chat history.
- Distinctive: line 112
Do not invent scope the approved plan did not include.
- Distinctive: line 113
Do not silently drop plan steps.
- Distinctive: line 114
Do not paste credentials or secrets.
- Distinctive: line 118
Only use labels that already exist:
- Distinctive: line 124
If the user provides a comma-separated label list, apply only labels that exist and tell the user about skipped labels.
- Very specific: line 132
Do not run gh issue create until the user confirms.
- Distinctive: line 136
After confirmation, write the approved body to a temp file and create the issue:
- Distinctive: line 165
Never implement the plan in this skill.
- Distinctive: line 166
Never file a hollow issue when the plan is too vague.
- Distinctive: line 167
Never add acceptance criteria that the plan does not imply.
- Distinctive: line 168
Never include secrets, credentials, or real tokens in the issue body.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plan To Issue
Turn the most recently approved plan in this conversation into a GitHub issue that another agent can complete without access to the chat. Do not implement the plan. Capture it faithfully as an issue, show the draft to the user, and create the issue only after confirmation.
The downstream agent will likely use the implement-issue skill against the issue URL, so the issue body must include explicit context, acceptance criteria, files or modules to touch, conventions, tests, and verification steps.
Locate The Plan
Use the most recently approved plan in the conversation as the source of truth, including any user refinements made during approval.
If no agreed plan is available, stop and ask the user to point to it. Do not invent a plan.
If approval included changes such as "do it but skip the migration", fold those into the issue so it reflects the final agreement.
Prerequisites
Verify first. If any check fails, stop and report what is missing.
git rev-parse --is-inside-work-tree
gh --version
gh auth statusResolve the repo:
gh repo view --json owner,name,defaultBranchRef \
--jq '{owner: .owner.login, name: .name, base: .defaultBranchRef.name}'Fill Plan Gaps
Before drafting, resolve implicit details against the actual codebase. Read files, search with rg, and avoid guessing.
Resolve:
- Concrete file paths for loosely named modules or features.
- Relevant project instructions, such as root
AGENTS.mdorCLAUDE.mdand nested instruction files under touched directories. - Actual validation scripts from
package.json. - Tests required by the repo rules, including where to add or extend unit tests and any coverage expectations.
- Genuine open questions that the plan did not settle.
If filling these gaps exposes a real ambiguity that would make the issue vague or likely wrong, stop and ask before filing.
Draft The Issue
Title rules:
- Imperative, sentence case, no trailing period.
- Aim for about 50 characters; keep under about 72.
- Use a conventional-commits prefix only if recent merged PRs or issues use one.
Check recent title style when needed:
gh pr list --state merged --limit 10 --json title --jq '.[].title'Use this body template. Omit optional sections rather than padding them, but always include Context, Files to change, Acceptance criteria, and Verification.
## Context
<2-4 sentences explaining the problem and goal for an agent with no chat history.>
## Approach
<The agreed plan as concrete ordered steps. Be specific about what changes and in what order.>
## Files to change
- `path/to/file.ts` - <what changes here>
- `path/to/other.ts` - <what changes here>
- <new files to create, with intended paths>
## Acceptance criteria
- [ ] <Observable, checkable outcome 1>
- [ ] <Observable, checkable outcome 2>
- [ ] Unit tests added or updated for the new code; touched package stays at or above required coverage.
- [ ] Required formatting, linting, typechecking, and tests pass.
## Tests required
- <Which test files to add or extend, and the key happy path, validation failure, error, and boundary cases.>
## Conventions
- Follow root `AGENTS.md` or `CLAUDE.md` and any nested instruction files under touched directories.
- Validation commands: `<commands from package.json and project instructions>`.
- <Any area-specific rules, such as tenant RLS, shared UI components, config conventions, or integration patterns.>
## Verification
- <Concrete commands, scenarios, UI flows, or API checks that prove the work.>
## Open questions
<Optional. Only include unresolved decisions the implementer must answer or ask about.>Drafting rules:
- Write for an agent with no chat history. Never rely on "as discussed".
- Name real symbols, files, commands, packages, and tests where possible.
- Do not invent scope the approved plan did not include.
- Do not silently drop plan steps.
- Do not paste credentials or secrets. If env vars are needed, name them and note where examples should be documented.
Labels
Only use labels that already exist:
gh label list --limit 200 --json name --jq '.[].name'If the user provides a comma-separated label list, apply only labels that exist and tell the user about skipped labels.
Otherwise choose sensible area labels by mapping files to the existing label list, such as API, frontend, database, CI, or docs labels. Skip labels that do not exist. Never create labels.
Confirm Before Creating
Print the proposed title, full body, and labels in chat. Ask whether to file as-is, edit the issue, or change labels.
Do not run gh issue create until the user confirms.
Create
After confirmation, write the approved body to a temp file and create the issue:
BODY_FILE=$(mktemp)
cat > "$BODY_FILE" <<'EOF'
<approved body>
EOF
gh issue create \
--title "<approved title>" \
--body-file "$BODY_FILE" \
--label "<confirmed-label-1>" \
--label "<confirmed-label-2>"
rm -f "$BODY_FILE"Pass one --label flag per confirmed label. If gh rejects a missing label, drop that label and retry rather than creating labels.
Hand Back
Print the new issue URL and a one-line summary. Remind the user that another agent can implement it with:
/implement-issue <issue-url>Guardrails
- Never implement the plan in this skill.
- Never file a hollow issue when the plan is too vague.
- Never add acceptance criteria that the plan does not imply.
- Never include secrets, credentials, or real tokens in the issue body.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

