/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.
$ npx -y skills add Gentleman-Programming/engram --skill issue-creation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/issue-creation
Context preview
The summary Claude sees to decide when to auto-load this skill.
Issue creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a GitHub issue, reporting a bug, or requesting a feature.
SKILL.md
issue-creation.SKILL.mdname: engram-issue-creation
description: >
Issue creation workflow for Engram following the issue-first enforcement system.
Trigger: When creating a GitHub issue, reporting a bug, or requesting a feature.
license: Apache-2.0
metadata:
author: gentleman-programming
version: "1.0"
When to Use
Use this skill when:
- Creating a GitHub issue (bug report or feature request)
- Helping a contributor file an issue
- Triaging or approving issues as a maintainer
---
Critical Rules
1. **Blank issues are disabled** — MUST use a template (bug report or feature request) 2. **Every issue gets `status:needs-review` automatically** on creation 3. **A maintainer MUST add `status:approved`** before any PR can be opened 4. **Questions go to [Discussions](https://github.com/Gentleman-Programming/engram/discussions)**, not issues
---
Workflow
1. Search existing issues for duplicates
2. Choose the correct template (Bug Report or Feature Request)
3. Fill in ALL required fields
4. Check pre-flight checkboxes
5. Submit → issue gets status:needs-review automatically
6. Wait for maintainer to add status:approved
7. Only then open a PR linking this issue
---
Issue Templates
Bug Report
Template: `.github/ISSUE_TEMPLATE/bug_report.yml` Auto-labels: `bug`, `status:needs-review`
Required Fields
| Field | Description | |-------|-------------| | **Pre-flight Checks** | Checkboxes: no duplicate + understands approval workflow | | **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 "
### Pre-flight Checks
- [x] I have searched existing issues and this is not a duplicate
- [x] I understand this issue needs status:approved before a PR can be opened
### 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: `enhancement`, `status:needs-review`
Required Fields
| Field | Description | |-------|-------------| | **Pre-flight Checks** | Checkboxes: no duplicate + understands approval workflow | | **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 "
### Pre-flight Checks
- [x] I have searched existing issues and this is not a duplicate
- [x] I understand this issue needs status:approved before a PR can be opened
### 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.
"---
Label System
Applied Automatically on Issue Creation
| Template | Labels added | |----------|-------------| | Bug Report | `bug`, `status:needs-review` | | Feature Request | `enhancement`, `status:needs-review` |
Applied by Maintainers
| Label | When to apply | |-------|--------------| | `status:approved` | Issue accepted for implementation — PRs can now be opened | | `priority:high` | Critical bug or urgent feature | | `priority:medium` | Important but not blocking | | `priority:low` | Nice to have |
---
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 → add status:approved label
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 question? → Use Discussions, NOT issues
Is it a duplicate? → Link to existing issue, close
---
Commands
# Search existing issues before creating
gh issue list --search "keyword"
# Create bug report
gh issue create --template "bug_report.yml" -
Read more
name: engram-issue-creation description: > Issue creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a GitHub issue, reporting a bug, or requesting a feature. license: Apache-2.0 metadata: author: gentleman-programming version: "1.0"
When to Use
Use this skill when:
- Creating a GitHub issue (bug report or feature request)
- Helping a contributor file an issue
- Triaging or approving issues as a maintainer
---
Critical Rules
1. **Blank issues are disabled** — MUST use a template (bug report or feature request) 2. **Every issue gets `status:needs-review` automatically** on creation 3. **A maintainer MUST add `status:approved`** before any PR can be opened 4. **Questions go to [Discussions](https://github.com/Gentleman-Programming/engram/discussions)**, not issues
---
Workflow
1. Search existing issues for duplicates 2. Choose the correct template (Bug Report or Feature Request) 3. Fill in ALL required fields 4. Check pre-flight checkboxes 5. Submit → issue gets status:needs-review automatically 6. Wait for maintainer to add status:approved 7. Only then open a PR linking this issue
---
Issue Templates
Bug Report
Template: `.github/ISSUE_TEMPLATE/bug_report.yml` Auto-labels: `bug`, `status:needs-review`
Required Fields
| Field | Description | |-------|-------------| | **Pre-flight Checks** | Checkboxes: no duplicate + understands approval workflow | | **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 " ### Pre-flight Checks - [x] I have searched existing issues and this is not a duplicate - [x] I understand this issue needs status:approved before a PR can be opened ### 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: `enhancement`, `status:needs-review`
Required Fields
| Field | Description | |-------|-------------| | **Pre-flight Checks** | Checkboxes: no duplicate + understands approval workflow | | **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 "
### Pre-flight Checks
- [x] I have searched existing issues and this is not a duplicate
- [x] I understand this issue needs status:approved before a PR can be opened
### 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.
"---
Label System
Applied Automatically on Issue Creation
| Template | Labels added | |----------|-------------| | Bug Report | `bug`, `status:needs-review` | | Feature Request | `enhancement`, `status:needs-review` |
Applied by Maintainers
| Label | When to apply | |-------|--------------| | `status:approved` | Issue accepted for implementation — PRs can now be opened | | `priority:high` | Critical bug or urgent feature | | `priority:medium` | Important but not blocking | | `priority:low` | Nice to have |
---
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 → add status:approved label 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 question? → Use Discussions, NOT issues Is it a duplicate? → Link to existing issue, close
---
Commands
# Search existing issues before creating gh issue list --search "keyword" # Create bug report gh issue create --template "bug_report.yml" -
Persistent memory system for AI coding agents. Agent-agnostic Go binary with SQLite + FTS5, MCP server, HTTP API, CLI, and TUI.
Repo: Gentleman-Programming/engram
Other skills on gentleman-programming-engram.
- /memory
ALWAYS ACTIVE — Persistent memory protocol. You MUST save decisions, conventions, bugs, and discoveries to engram proactively. Do NOT wait for the user to ask.
Open skill - /memory
ALWAYS ACTIVE — Persistent memory protocol. You MUST save decisions, conventions, bugs, and discoveries to engram proactively. Do NOT wait for the user to ask.
Open skill - /architecture-guardrails
Architecture guardrails for Engram across local store, cloud sync, dashboard, and plugins. Trigger: Any change that affects system boundaries, ownership, state flow, or cross-package responsibilities.
Open skill - /backlog-triage
Backlog triage protocol for Engram: audit open issues and PRs, classify each item, infer maintainer ideology from comments, and produce an actionable disposition report. Trigger: Auditing open issues or PRs, triaging the backlog, reviewing contributor submissions as a
Open skill - /branch-pr
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.
Open skill - /business-rules
Product and business-rule guardrails for Engram. Trigger: Any change that affects sync behavior, project controls, permissions, or memory semantics.
Open skill

