
engram-issue-creation
Issue creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a GitHub issue, reporting a bug, or requesting a feature.
- Installs
- 61
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/gentleman-programming/engram --skill engram-issue-creation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads engram-issue-creation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
When to Use
Use this skill when:
- Creating a GitHub issue (bug report, feature request, docs improvement, or tracked question)
- Helping a contributor file an issue
- Triaging or approving issues as a maintainer
Critical Rules
- Blank issues are disabled — MUST use the matching bug, feature, docs, or tracked-question template
- Every issue gets
status:needs-reviewautomatically on creation - A maintainer MUST replace
status:needs-reviewwithstatus:approvedbefore any PR can be opened - General questions go to Discussions; questions requiring tracked work use
type:question
Workflow
1. Consider searching existing issues for duplicates
2. Choose the correct template (Bug Report, Feature Request, Documentation Improvement, or Tracked Question)
3. Fill in ALL required fields
4. Submit → issue gets status:needs-review automatically
5. Wait for a maintainer to replace status:needs-review with status:approved
6. Only then open a PR linking this issue
Issue Templates
Bug Report
Template: .github/ISSUE_TEMPLATE/bug_report.yml
Auto-labels: type:bug, status:needs-review
Required Fields
| Field | Description |
|---|---|
| Bug Description | Clear description of the bug |
| Steps to Reproduce | Numbered steps to reproduce |
| Expected Behavior | What should have happened |
| Actual Behavior | What happened instead (include errors/logs) |
| Operating System | Dropdown: macOS, Linux variants, Windows, WSL |
| Engram Version | Output of engram version |
| Agent / Client | Dropdown: Claude Code, OpenCode, Gemini CLI, Cursor, Windsurf, Other |
Optional Fields
| Field | Description |
|---|---|
| Relevant Logs | Log output (auto-formatted as code block) |
| Additional Context | Screenshots, workarounds, extra info |
Example — Bug Report via CLI
gh issue create --template "bug_report.yml" \
--title "fix(store): duplicate observations on concurrent saves" \
--body "
### Bug Description
When two agents save observations concurrently, duplicates are created.
### Steps to Reproduce
1. Start two engram instances pointing to the same DB
2. Both save an observation with the same title simultaneously
3. Query observations — duplicates appear
### Expected Behavior
The second save should upsert, not insert a duplicate.
### Actual Behavior
Two identical observations exist with different IDs.
### Operating System
macOS
### Engram Version
0.3.1
### Agent / Client
Claude Code
### Relevant Logs
\`\`\`
UNIQUE constraint failed: observations.title
\`\`\`
"
Feature Request
Template: .github/ISSUE_TEMPLATE/feature_request.yml
Auto-labels: type:feature, status:needs-review
Required Fields
| Field | Description |
|---|---|
| Problem Description | The pain point this feature solves |
| Proposed Solution | How it should work from the user's perspective |
| Affected Area | Dropdown: CLI, MCP Server, TUI, Store, Sync, Skills, Documentation, Other |
Optional Fields
| Field | Description |
|---|---|
| Alternatives Considered | Other approaches or workarounds |
| Additional Context | Mockups, examples, references |
Example — Feature Request via CLI
gh issue create --template "feature_request.yml" \
--title "feat(cli): add --json flag to mem search" \
--body "
### Problem Description
When scripting with engram, parsing the human-readable output of mem search is fragile. There's no machine-readable output format.
### Proposed Solution
Add a \`--json\` flag to \`engram mem search\` that outputs results as JSON.
Example:
\`\`\`bash
engram mem search \"auth middleware\" --json
\`\`\`
Expected output:
\`\`\`json
[{\"id\": 42, \"title\": \"JWT auth middleware\", \"type\": \"decision\", ...}]
\`\`\`
### Affected Area
CLI (commands, flags)
### Alternatives Considered
Using \`jq\` to parse the current output, but it's unreliable since the format isn't structured.
"
Tracked Question
Template: .github/ISSUE_TEMPLATE/tracked_question.yml
Auto-labels: type:question, status:needs-review
Use this form only when the answer requires maintainer investigation, a repository change, or a durable decision. Send general questions and support to Discussions.
Required fields: the question, why issue tracking is needed, and the affected area. Additional context is optional.
Label System
Applied Automatically on Issue Creation
| Template | Labels added |
|---|---|
| Bug Report | type:bug, status:needs-review |
| Feature Request | type:feature, status:needs-review |
| Documentation Improvement | type:docs, status:needs-review |
| Tracked Question | type:question, status:needs-review |
Applied by Maintainers
| Label | When to apply |
|---|---|
status:approved | Issue accepted for implementation — PRs can now be opened |
priority:critical | Critical bug or urgent feature |
priority:high | High priority |
priority:medium | Important but not blocking |
priority:low | Nice to have |
status:possible-duplicate | Duplicate under evaluation |
status:wontfix | Closed without implementation, including confirmed duplicates |
resolution:duplicate | Confirmed duplicate after closure |
Maintainer Approval Workflow
1. New issue arrives with status:needs-review
2. Review the issue — is it valid, clear, and in scope?
3. If YES → replace status:needs-review with status:approved
4. If NO → comment with reason, close if needed
5. Contributor can now open a PR linking this issue
Decision Tree
Is it a bug? → Use Bug Report template
Is it a new feature/improvement? → Use Feature Request template
Is it a general question? → Use Discussions, NOT issues
Is it a tracked question? → Use the Tracked Question template
Is it a possible duplicate? → Replace the current status with status:possible-duplicate
Is it a confirmed duplicate? → Close it, replace evaluation status with status:wontfix, then add resolution:duplicate
Commands
# Consider searching existing issues before creating to avoid duplicates
gh issue list --search "keyword"
# Create bug report
gh issue create --template "bug_report.yml" --title "fix(scope): description"
# Create feature request
gh issue create --template "feature_request.yml" --title "feat(scope): description"
# Create documentation improvement
gh issue create --template "docs_improvement.yml" --title "docs(scope): description"
# Create tracked question
gh issue create --template "tracked_question.yml" --title "question(scope): description"
# Maintainer: approve an issue
gh issue edit <number> --remove-label "status:needs-review" --add-label "status:approved"
# Maintainer: add priority
gh issue edit <number> --add-label "priority:high"
# Maintainer: replace every active status while evaluating a possible duplicate
set -euo pipefail
other_statuses="$(gh issue view <number> --json labels --jq '.labels[].name | select(startswith("status:") and . != "status:possible-duplicate")')"
status_args=(--add-label "status:possible-duplicate")
if [[ -n "$other_statuses" ]]; then
status_args+=(--remove-label "${other_statuses//$'\n'/,}")
fi
gh issue edit <number> "${status_args[@]}"
updated_statuses="$(gh issue view <number> --json labels --jq '.labels[].name | select(startswith("status:"))')"
if [[ "$updated_statuses" != "status:possible-duplicate" ]]; then
echo "status replacement could not be confirmed; stop without retrying" >&2
exit 1
fi
# Maintainer: close a confirmed duplicate, then replace evaluation status with terminal status and resolution
gh issue close <number> --reason "not planned" --comment "Closing as duplicate of #<canonical>."
gh issue edit <number> --remove-label "status:possible-duplicate" --add-label "status:wontfix,resolution:duplicate"
FAQ
What does the engram-issue-creation skill do?
Issue creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a GitHub issue, reporting a bug, or requesting a feature.
How do I install engram-issue-creation?
Run npx skills add https://github.com/gentleman-programming/engram --skill engram-issue-creation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/engram-issue-creation/ (personal) or .claude/skills/engram-issue-creation/ (project).
Which AI agents can use engram-issue-creation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is engram-issue-creation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains engram-issue-creation?
It is published by gentleman-programming in gentleman-programming/engram. It has 61 recorded installs.
More from gentleman-programming/engram
engram-memory-protocol
gentleman-programming/engram
Persistent memory discipline for Engram contributors. Trigger: Decisions, bugfixes, discoveries, preferences, or session closure.
engram-memory
gentleman-programming/engram
ALWAYS ACTIVE — Persistent memory protocol. You MUST save decisions, conventions, bugs, and discoveries to engram proactively. Do NOT wait for the user to ask.
engram-testing-coverage
gentleman-programming/engram
TDD and coverage standards for Engram. Trigger: When implementing behavior changes in any package.
engram-branch-pr
gentleman-programming/engram
PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.
engram-sdd-flow
gentleman-programming/engram
Open the skill to read its SKILL.md instructions.
engram-docs-alignment
gentleman-programming/engram
Documentation alignment rules for Engram. Trigger: Any code or workflow change that affects user or contributor behavior.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.