Blame · Line-by-line history
SKILL.md
Each line is annotated with the commit that last touched it. Click any SHA to jump to that commit and see the surrounding change.
| 43095dc | 1 | --- |
| 2 | name: gluecron-issue | |
| 3 | description: Create, list, comment on, close, or reopen issues on a Gluecron-hosted repository. Use this skill whenever the user is on a Gluecron repo (origin URL contains "gluecron.com" or matches the GLUECRON_HOST env var) and asks to "open an issue", "file a bug", "comment on #N", "close #N", or "reopen #N" on a repo that is NOT hosted on GitHub. | |
| 4 | tools: | |
| 5 | - gluecron_create_issue | |
| 6 | - gluecron_comment_issue | |
| 7 | - gluecron_close_issue | |
| 8 | - gluecron_reopen_issue | |
| 9 | - gluecron_repo_list_issues | |
| 10 | - Bash | |
| 11 | --- | |
| 12 | ||
| 13 | # Skill: gluecron-issue | |
| 14 | ||
| 15 | You are the Gluecron issue-tracker assistant. Drive the K1 MCP write surface | |
| 16 | (`gluecron_create_issue`, `gluecron_comment_issue`, `gluecron_close_issue`, | |
| 17 | `gluecron_reopen_issue`, plus the read tool `gluecron_repo_list_issues`) | |
| 18 | on a Gluecron-hosted repository. | |
| 19 | ||
| 20 | ## When to use this skill | |
| 21 | ||
| 22 | Trigger when ALL of these are true: | |
| 23 | ||
| 24 | 1. The user mentions an issue action (file, open, create, comment on, | |
| 25 | close, reopen, list, triage). | |
| 26 | 2. The active git repository's `remote.origin.url` contains `gluecron.com`, | |
| 27 | matches `$GLUECRON_HOST`, or the user explicitly mentions Gluecron. | |
| 28 | 3. The repo is NOT on GitHub. | |
| 29 | ||
| 30 | If you're not sure, ask once and remember the answer. | |
| 31 | ||
| 32 | ## Required setup | |
| 33 | ||
| 34 | Detect owner/repo from the origin URL the same way `gluecron-pr` does: | |
| 35 | ||
| 36 | ```bash | |
| 37 | git config --get remote.origin.url | |
| 38 | ``` | |
| 39 | ||
| 40 | Shapes: | |
| 41 | - `https://<HOST>/<owner>/<repo>.git` | |
| 42 | - `git@<HOST>:<owner>/<repo>.git` | |
| 43 | ||
| 44 | Strip `.git`. The tools take `owner` and `repo` as separate arguments. | |
| 45 | ||
| 46 | ## Tool-call recipes | |
| 47 | ||
| 48 | ### "Open an issue describing X" | |
| 49 | ||
| 50 | 1. If the user's description is shorter than ~10 words, ask one clarifying | |
| 51 | question (reproduction steps? expected vs actual?). Otherwise proceed. | |
| 52 | 2. Draft a clear title (≤72 chars, imperative or noun-phrase). | |
| 53 | 3. Draft a Markdown body in this shape: | |
| 54 | ||
| 55 | ``` | |
| 56 | ## What happened | |
| 57 | ... | |
| 58 | ||
| 59 | ## Expected | |
| 60 | ... | |
| 61 | ||
| 62 | ## Repro | |
| 63 | 1. ... | |
| 64 | 2. ... | |
| 65 | ``` | |
| 66 | ||
| 67 | 4. Call `gluecron_create_issue` with `{ owner, repo, title, body }`. | |
| 68 | 5. Echo the returned `url` (relative — prefix with the Gluecron host). | |
| 69 | ||
| 70 | ### "Comment 'I'm investigating' on #42" | |
| 71 | ||
| 72 | 1. Call `gluecron_comment_issue` with `{ owner, repo, number: 42, body: "I'm investigating" }`. | |
| 73 | ||
| 74 | ### "Close #42" | |
| 75 | ||
| 76 | 1. Call `gluecron_close_issue` with `{ owner, repo, number: 42 }`. | |
| 77 | 2. The tool is idempotent — closing an already-closed issue is a no-op. | |
| 78 | ||
| 79 | ### "Reopen #42" | |
| 80 | ||
| 81 | 1. Call `gluecron_reopen_issue` with `{ owner, repo, number: 42 }`. | |
| 82 | ||
| 83 | ### "List open issues" | |
| 84 | ||
| 85 | 1. Call `gluecron_repo_list_issues` with `{ owner, repo, limit: 25 }`. | |
| 86 | 2. Render as a compact list: `#N title (created at)`. | |
| 87 | ||
| 88 | ### "Close all the stale duplicates" | |
| 89 | ||
| 90 | 1. Call `gluecron_repo_list_issues`. | |
| 91 | 2. Identify candidate duplicates by title-similarity (you have the titles | |
| 92 | in the list response — do NOT need a separate AI call). | |
| 93 | 3. For each candidate, post a comment via `gluecron_comment_issue` | |
| 94 | explaining which issue it duplicates, THEN call `gluecron_close_issue`. | |
| 95 | 4. NEVER close more than 5 issues in one batch without re-confirming with | |
| 96 | the user. | |
| 97 | ||
| 98 | ## Example user prompts | |
| 99 | ||
| 100 | - "File an issue describing the off-by-one in pagination." | |
| 101 | - "Comment 'I'm investigating' on issue 42." | |
| 102 | - "Close issue 42." | |
| 103 | - "Reopen 17." | |
| 104 | - "List open issues." | |
| 105 | ||
| 106 | ## Don'ts | |
| 107 | ||
| 108 | - Do NOT close issues without a comment explaining why, unless the user | |
| 109 | explicitly said "close without comment". | |
| 110 | - Do NOT bulk-close more than 5 issues in one tool sequence without a | |
| 111 | fresh user confirmation. | |
| 112 | - If a tool returns `-32601 method_not_found`, the caller lacks read | |
| 113 | access. Tell the user; do not retry. | |
| 114 | - If a tool returns `-32602 invalid_params` mentioning authentication, | |
| 115 | the MCP server is not authenticated. Tell the user to re-run | |
| 116 | `curl -sSL https://gluecron.com/install | bash`. |