MCPInstall

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
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads engram-issue-creation automatically when relevant.

  3. 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

  1. Blank issues are disabled — MUST use the matching bug, feature, docs, or tracked-question template
  2. Every issue gets status:needs-review automatically on creation
  3. A maintainer MUST replace status:needs-review with status:approved before any PR can be opened
  4. 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

FieldDescription
Bug DescriptionClear description of the bug
Steps to ReproduceNumbered steps to reproduce
Expected BehaviorWhat should have happened
Actual BehaviorWhat happened instead (include errors/logs)
Operating SystemDropdown: macOS, Linux variants, Windows, WSL
Engram VersionOutput of engram version
Agent / ClientDropdown: Claude Code, OpenCode, Gemini CLI, Cursor, Windsurf, Other

Optional Fields

FieldDescription
Relevant LogsLog output (auto-formatted as code block)
Additional ContextScreenshots, 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

FieldDescription
Problem DescriptionThe pain point this feature solves
Proposed SolutionHow it should work from the user's perspective
Affected AreaDropdown: CLI, MCP Server, TUI, Store, Sync, Skills, Documentation, Other

Optional Fields

FieldDescription
Alternatives ConsideredOther approaches or workarounds
Additional ContextMockups, 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

TemplateLabels added
Bug Reporttype:bug, status:needs-review
Feature Requesttype:feature, status:needs-review
Documentation Improvementtype:docs, status:needs-review
Tracked Questiontype:question, status:needs-review

Applied by Maintainers

LabelWhen to apply
status:approvedIssue accepted for implementation — PRs can now be opened
priority:criticalCritical bug or urgent feature
priority:highHigh priority
priority:mediumImportant but not blocking
priority:lowNice to have
status:possible-duplicateDuplicate under evaluation
status:wontfixClosed without implementation, including confirmed duplicates
resolution:duplicateConfirmed 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

View all →

engram-memory-protocol

gentleman-programming/engram

Persistent memory discipline for Engram contributors. Trigger: Decisions, bugfixes, discoveries, preferences, or session closure.

225 installs

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.

147 installs

engram-testing-coverage

gentleman-programming/engram

TDD and coverage standards for Engram. Trigger: When implementing behavior changes in any package.

Testing & QA98 installs

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.

89 installs

engram-docs-alignment

gentleman-programming/engram

Documentation alignment rules for Engram. Trigger: Any code or workflow change that affects user or contributor behavior.

Docs & Writing89 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

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.