Install
$ agentstack add skill-mitodl-agent-kit-create-ol-github-issue ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Create a GitHub Issue (/olissue)
When the user runs /olissue, guide them through creating a GitHub issue in a mitodl repository using the org's standard issue templates.
Default organization
Always default to mitodl unless the user explicitly names a different org.
Step 1 — Gather required inputs
Ask the user for:
| Field | Notes | |-------|-------| | Repository | e.g. ol-django — org is implied as mitodl | | Issue type | See template menu below | | Title | Short, imperative sentence | | Body details | Their text for each section of the chosen template |
Ask in a single batched question covering everything missing — one round trip, not a sequence of one-field prompts.
Ask for the body text; don't invent it. The user knows what the issue is about and you don't. Ask for their words per template section and use them mostly as given — tighten wording and fix formatting, but do not expand a one-line answer into three paragraphs. Only draft a section yourself when the user asks you to or points you at source material (an error, a code path, a thread) — and then show the draft before creating the issue.
Blank sections: the templates below mark optional sections with `` (Possible Solution, Additional Details). Delete those when empty rather than padding them. Every other section is required — if one comes back blank, ask again for it instead of deleting it or filling it in yourself. An issue with no Steps to Reproduce is the thing this skill exists to prevent.
Step 2 — Choose a template
Present these four options and apply the matching template body:
| # | Name | Labels | Template file | |---|------|--------|---------------| | 1 | Bug Report | bug | [bug.md](#template-bug-report) | | 2 | Technical Issue | (none) | [default.md](#template-technical-issue) | | 3 | Product Issue | (none) | [product.md](#template-product-issue) | | 4 | Design QA | design QA | [designQA.md](#template-design-qa) |
Step 3 — Create the issue
Show the filled-in body and confirm before creating it. Use the GitHub CLI:
gh issue create \
--repo mitodl/ \
--title "" \
--body "" \
--label "" # omit if no label for this template type
Confirm the URL returned by gh issue create and share it with the user.
Template: Bug Report
Labels: bug
### Expected Behavior
### Current Behavior
### Steps to Reproduce
1.
2.
3.
4.
### Possible Solution
### Additional Details
Template: Technical Issue
Labels: (none)
### Description/Context
### Plan/Design
Template: Product Issue
Labels: (none)
### User Story
- As a ..., I want to ..., so I can ...
### Description/Context
### Acceptance Criteria
- [ ]
### Plan/Design
Template: Design QA
Labels: design QA
### Relevant Links
### Prioritized List of Issues
1. `high`
2. `high`
3. `med`
4. `low`
### Additional Details
Writing style
The issue is read by a busy person deciding whether to pick it up. Keep it short and factual:
- Plain sentences. No preamble, no scene-setting, no closing summary.
- Bullets and code blocks over paragraphs. One idea per bullet.
- Say it once. Don't restate the title in the body or repeat a section's
content in another section.
- No filler adjectives ("comprehensive", "robust", "critical") and no emoji.
- Link rather than explain — a URL beats a paragraph describing what's behind it.
- Paste the actual error, log line, or snippet instead of narrating it.
A three-bullet issue that says exactly what is wrong beats a page of context.
Tips
- Fill in the template sections with the user's details before calling
gh issue create. Populated templates are more useful than placeholder text.
- Strip HTML comments (``) from the final body to keep the issue clean.
- If the user provides a full
org/reposlug, use it as-is instead of prependingmitodl/. - For Design QA issues, remind the user to follow the title convention:
Design QA: .
Self-contained issues
Issues must be self-contained and self-documenting. Do not reference local files, on-device content, or relative paths that would be inaccessible to others. Instead:
- Reference GitHub issues by their full URL (e.g.,
https://github.com/mitodl/ol-django/issues/123#issuecomment-456) - Reference code files via GitHub URLs (e.g.,
https://github.com/mitodl/ol-django/blob/main/apps/course_info/views.py#L45-L52) - Reference documentation via its public URL (e.g., Django docs, library docs)
- Reference designs via Figma URLs or other publicly accessible sources
- Include essential context inline when no URL is available. If you need to reference
a local log, error message, or specific code snippet, copy and paste it directly into the issue body.
- Include log output or error messages directly in the issue rather than describing
them or referencing temporary files.
- Attach screenshots to the issue after creation rather than referencing local image files.
This ensures anyone can understand and act on the issue without needing access to the reporter's local environment or file system.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mitodl
- Source: mitodl/agent-kit
- License: BSD-3-Clause
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.