Skip to main content
RapidDev - Software Development Agency
github-for-non-tech

How to Create Issues on GitHub for Tasks and Bug Reports

GitHub Issues are task tickets for your project. Click the Issues tab, then New issue, write a clear title and description, assign someone, add labels, and submit. You can link issues to Pull Requests so they close automatically when the work is done. No coding or terminal required.

What you'll learn

  • How to create a new Issue from the GitHub web interface
  • How to write effective titles and descriptions for Issues
  • How to assign Issues to team members and add labels
  • How to link Issues to Pull Requests for automatic tracking
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner7 min read8 minutesAny modern web browser (Chrome, Safari, Edge, Firefox)March 2026RapidDev Engineering Team
TL;DR

GitHub Issues are task tickets for your project. Click the Issues tab, then New issue, write a clear title and description, assign someone, add labels, and submit. You can link issues to Pull Requests so they close automatically when the work is done. No coding or terminal required.

What Are GitHub Issues and Why Do They Matter

GitHub Issues are the built-in task management system for every repository. Think of each issue as a sticky note on a task board — it has a title, a description of what needs to happen, and it can be assigned to someone on your team. Issues are numbered automatically (#1, #2, #3) so everyone can reference them quickly. Labels let you categorize issues as bugs, features, questions, or anything else. The real power of Issues is their connection to Pull Requests: when a developer or AI tool like Cursor fixes a bug, they reference the issue number in their PR, and the issue closes automatically when the code is merged. This creates a complete audit trail from "someone reported a problem" to "the fix is live." Non-technical founders use Issues every day to communicate what needs to be built, report bugs, and track progress.

Prerequisites

  • A free GitHub account
  • A repository where you have write access
  • A modern web browser

Step-by-step guide

1

Navigate to the Issues tab in your repository

Go to github.com and open your repository. Look at the horizontal tab bar near the top of the page — you will see Code, Issues, Pull requests, and other tabs. Click "Issues." If you see a number next to the Issues label, that tells you how many open issues exist. You will land on a page showing all open issues, or an empty state with a message encouraging you to create your first issue.

Expected result: You see the Issues list page with a green "New issue" button on the right side.

2

Click New issue and choose a template if available

Click the green "New issue" button. If your repository has issue templates (pre-filled forms for bugs, features, etc.), you will see a list of templates to choose from — click "Get started" next to the one that fits. If there are no templates, you go directly to a blank issue form. Templates save time because they prompt you to fill in specific information like steps to reproduce a bug or a description of the feature you want.

Expected result: You see the issue creation form with a title field and a large description text box.

3

Write a clear, action-oriented title

In the title field, write a short, specific description of what needs to happen. Start with an action verb. Good examples: "Add email signup form to homepage," "Fix broken link on pricing page," "Update logo in the navigation bar." Bad examples: "Homepage problem," "Something is wrong," "Update needed." The title appears in lists and notifications, so it should tell anyone at a glance what the issue is about without needing to read the full description.

Expected result: The title field shows a clear, action-oriented description of the task.

4

Write a detailed description with context

In the large text box, explain the task in enough detail that someone could complete it without asking follow-up questions. Include: what needs to happen, why it matters, where in the app or site it applies, and any reference links or screenshots. Use Markdown formatting for readability — dashes for bullet points, **double asterisks** for bold text, and drag-and-drop images directly into the box to attach screenshots. If you are reporting a bug, include what you expected to happen versus what actually happened.

Expected result: The description box contains a detailed explanation with context, formatted with bullet points or sections.

5

Assign the issue to a team member and add labels

Look at the right sidebar of the issue form. Click "Assignees" and select the person responsible for this task from the dropdown — you can search by username. Next, click "Labels" and choose one or more labels. Common labels include "bug" (red), "enhancement" (blue), "question" (purple), and "good first issue" (green). If you need a custom label, go to Issues tab, click "Labels" next to the search bar, and create a new one with a name and color. Labels help your team filter and prioritize issues.

Expected result: The sidebar shows an assigned team member and one or more colored labels.

6

Submit the issue and link it to a Pull Request later

Click the green "Submit new issue" button at the bottom of the form. Your issue is now live and the assigned person receives a notification. GitHub assigns it a number automatically (like #15). Later, when someone creates a Pull Request to address this issue, they can type "Closes #15" in the PR description. This creates a link between the issue and the PR, and the issue will close automatically when the PR is merged. You can also manually link them by clicking "Development" in the PR sidebar and selecting the issue.

Expected result: The issue appears in the Issues list with its number, title, labels, and assignee visible.

Complete working example

.github/ISSUE_TEMPLATE/feature-request.md
1---
2name: Feature Request
3about: Suggest a new feature or improvement
4title: "[Feature] "
5labels: enhancement
6assignees: ''
7---
8
9## What do you want to add?
10Describe the feature in plain language.
11
12## Why is this important?
13Explain the business reason or user need.
14
15## Where in the app?
16Which page or section should this appear on?
17
18## Design reference
19Paste a screenshot, mockup, or link to a design file.
20
21## Acceptance criteria
22- [ ] Criteria 1
23- [ ] Criteria 2
24- [ ] Criteria 3
25
26## Additional context
27Anything else the developer or AI tool should know.

Common mistakes when creating Issues on GitHub for Tasks and Bug Reports

Why it's a problem: Writing vague issue titles like "fix this" or "bug"

How to avoid: Be specific and use action verbs: "Fix broken checkout button on mobile" tells the team exactly what needs attention.

Why it's a problem: Creating issues without assigning anyone

How to avoid: Always assign an issue to a specific person. Unassigned issues tend to be ignored because nobody feels responsible for them.

Why it's a problem: Forgetting to add labels

How to avoid: Add at least one label (bug, enhancement, urgent) so your team can filter and prioritize the Issues list.

Why it's a problem: Putting multiple unrelated tasks in a single issue

How to avoid: Create one issue per task. This makes it easier to assign, track, and close issues individually.

Why it's a problem: Describing a problem without explaining what the expected behavior should be

How to avoid: Always include what you expected to happen and what actually happened. This gives the developer clear criteria for when the fix is complete.

Best practices

  • Start every issue title with an action verb: Add, Fix, Update, Remove, Create
  • Include screenshots or screen recordings in the description by dragging images into the text box
  • Assign every issue to a specific team member so someone is responsible
  • Use labels consistently to categorize and prioritize work
  • Create one issue per task — do not combine multiple requests into a single issue
  • Reference related issues using # followed by the issue number (e.g., "related to #8")
  • Set up issue templates so every new issue follows a consistent format
  • Close issues when they are done — or use "Closes #X" in Pull Requests to auto-close them

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

I'm a non-technical founder using GitHub Issues to manage my project. Help me write a detailed issue for adding a contact form to my website homepage, including a title, description, and acceptance criteria.

Frequently asked questions

Can I create an issue without assigning it to someone?

Yes, but it is not recommended. Unassigned issues tend to be overlooked. If you do not know who should handle it, assign it to yourself and reassign later.

What labels should I use for my project?

Start with these: bug (for broken things), enhancement (for new features), question (for things to discuss), urgent (for time-sensitive work), and documentation (for text or guide updates). You can create custom labels in the Issues tab by clicking Labels.

Can AI tools like Lovable or Cursor create issues automatically?

Lovable does not create issues automatically, but Cursor can interact with GitHub via MCP server integration. You can also prompt Lovable to explain what it changed, and create an issue manually based on that.

How do I find a specific issue in a repository with many issues?

Use the search bar and filters at the top of the Issues page. You can filter by label, assignee, milestone, or keyword. For example, type "label:bug" to see only bug reports.

What is the difference between closing and deleting an issue?

Closing marks an issue as done — it stays in the repository history and can be reopened. Deleting removes it permanently. Always close issues instead of deleting them so you keep a record of past work.

Can RapidDev help me set up issue templates and workflows?

Yes. RapidDev helps non-technical founders create issue templates, define label systems, and configure automated workflows so your GitHub project runs smoothly from day one.

Is there a limit to how many issues I can create?

No. GitHub allows unlimited issues on both free and paid plans. However, keeping issues well-organized with labels and milestones is important as the number grows.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.