ur-agent 1.23.3 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -2
- package/CONTRIBUTING.md +21 -0
- package/LICENSE +1 -1
- package/QUALITY.md +5 -2
- package/README.md +83 -16
- package/RELEASE.md +54 -0
- package/SECURITY.md +22 -0
- package/bin/ur.js +5 -5
- package/dist/cli.js +5423 -4655
- package/docs/AGENT_FEATURES.md +8 -0
- package/docs/AGENT_UPGRADE_1.15.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.16.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.17.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.18.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.19.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.20.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.21.0.md +1 -1
- package/docs/AGENT_UPGRADE_1.22.0.md +1 -1
- package/docs/CODE_FEATURE_INVENTORY.md +9 -3
- package/docs/DEVELOPMENT.md +8 -4
- package/docs/USAGE.md +18 -1
- package/docs/VALIDATION.md +4 -4
- package/docs/plugins.md +52 -0
- package/documentation/README.md +2 -2
- package/documentation/app.js +5 -5
- package/documentation/assets/ur-architecture.svg +1 -1
- package/documentation/index.html +15 -11
- package/package.json +11 -6
- package/plugins/bunBundleDev.ts +32 -0
- package/plugins/community/.gitkeep +1 -0
- package/plugins/core/README.md +69 -0
- package/plugins/core/code-review/.ur-plugin/plugin.json +13 -0
- package/plugins/core/code-review/README.md +37 -0
- package/plugins/core/code-review/commands/code-review.md +47 -0
- package/plugins/core/engineering-discipline/.ur-plugin/plugin.json +33 -0
- package/plugins/core/engineering-discipline/README.md +21 -0
- package/plugins/core/engineering-discipline/commands/discipline-check.md +25 -0
- package/plugins/core/engineering-discipline/skills/reproducible-release/SKILL.md +31 -0
- package/plugins/core/engineering-discipline/templates/release-verifier.md +18 -0
- package/plugins/core/engineering-discipline/validators/release-gate.json +7 -0
- package/plugins/core/evaluate-response/.ur-plugin/plugin.json +13 -0
- package/plugins/core/evaluate-response/README.md +42 -0
- package/plugins/core/evaluate-response/commands/evaluate-response.md +61 -0
- package/plugins/core/explain-error/.ur-plugin/plugin.json +13 -0
- package/plugins/core/explain-error/README.md +32 -0
- package/plugins/core/explain-error/commands/explain-error.md +37 -0
- package/plugins/core/git-summary/.ur-plugin/plugin.json +13 -0
- package/plugins/core/git-summary/README.md +29 -0
- package/plugins/core/git-summary/commands/git-summary.md +27 -0
- package/plugins/core/github/.ur-plugin/plugin.json +31 -0
- package/plugins/core/github/README.md +37 -0
- package/plugins/core/github/commands/gh-issues.md +19 -0
- package/plugins/core/github/commands/gh-pr-create.md +19 -0
- package/plugins/core/github/commands/gh-pr-review.md +37 -0
- package/plugins/core/github/commands/gh-repo-health.md +23 -0
- package/plugins/core/github/skills/github-workflow/SKILL.md +53 -0
- package/plugins/core/gitlab/.ur-plugin/plugin.json +39 -0
- package/plugins/core/gitlab/README.md +39 -0
- package/plugins/core/gitlab/commands/gl-issues.md +19 -0
- package/plugins/core/gitlab/commands/gl-mr-create.md +19 -0
- package/plugins/core/gitlab/commands/gl-mr-review.md +36 -0
- package/plugins/core/gitlab/commands/gl-pipeline.md +21 -0
- package/plugins/core/gitlab/skills/gitlab-workflow/SKILL.md +63 -0
- package/plugins/core/hello/.ur-plugin/plugin.json +13 -0
- package/plugins/core/hello/README.md +45 -0
- package/plugins/core/hello/commands/hello.md +16 -0
- package/plugins/core/huggingface/.ur-plugin/plugin.json +36 -0
- package/plugins/core/huggingface/README.md +36 -0
- package/plugins/core/huggingface/commands/hf-dataset-search.md +19 -0
- package/plugins/core/huggingface/commands/hf-download.md +23 -0
- package/plugins/core/huggingface/commands/hf-model-card.md +23 -0
- package/plugins/core/huggingface/commands/hf-model-search.md +20 -0
- package/plugins/core/huggingface/skills/huggingface-workflow/SKILL.md +70 -0
- package/plugins/core/miro/.ur-plugin/plugin.json +27 -0
- package/plugins/core/miro/README.md +39 -0
- package/plugins/core/miro/commands/miro-board.md +17 -0
- package/plugins/core/miro/commands/miro-diagram.md +20 -0
- package/plugins/core/miro/commands/miro-export.md +18 -0
- package/plugins/core/miro/commands/miro-stickies.md +19 -0
- package/plugins/core/miro/skills/miro-workflow/SKILL.md +54 -0
- package/plugins/core/obsidian/.ur-plugin/plugin.json +42 -0
- package/plugins/core/obsidian/README.md +42 -0
- package/plugins/core/obsidian/commands/backlinks.md +22 -0
- package/plugins/core/obsidian/commands/daily-note.md +29 -0
- package/plugins/core/obsidian/commands/moc.md +24 -0
- package/plugins/core/obsidian/commands/second-brain.md +37 -0
- package/plugins/core/obsidian/commands/vault-search.md +20 -0
- package/plugins/core/obsidian/skills/second-brain/SKILL.md +86 -0
- package/plugins/core/powerpoint/.ur-plugin/plugin.json +26 -0
- package/plugins/core/powerpoint/README.md +35 -0
- package/plugins/core/powerpoint/commands/pptx-from-md.md +18 -0
- package/plugins/core/powerpoint/commands/pptx-new.md +21 -0
- package/plugins/core/powerpoint/commands/pptx-review.md +32 -0
- package/plugins/core/powerpoint/commands/pptx-theme.md +18 -0
- package/plugins/core/powerpoint/skills/deck-craft/SKILL.md +60 -0
- package/plugins/core/release-notes/.ur-plugin/plugin.json +13 -0
- package/plugins/core/release-notes/README.md +28 -0
- package/plugins/core/release-notes/commands/release-notes.md +56 -0
- package/plugins/core/skill-forge/.ur-plugin/plugin.json +13 -0
- package/plugins/core/skill-forge/README.md +37 -0
- package/plugins/core/skill-forge/commands/forge-skill.md +47 -0
- package/plugins/core/skill-forge/commands/skill-refine.md +19 -0
- package/plugins/core/skill-forge/skills/skill-authoring/SKILL.md +84 -0
- package/plugins/core/word/.ur-plugin/plugin.json +26 -0
- package/plugins/core/word/README.md +37 -0
- package/plugins/core/word/commands/docx-edit.md +18 -0
- package/plugins/core/word/commands/docx-from-md.md +19 -0
- package/plugins/core/word/commands/docx-new.md +22 -0
- package/plugins/core/word/commands/docx-review.md +29 -0
- package/plugins/core/word/skills/document-craft/SKILL.md +61 -0
- package/plugins/examples/README.md +12 -0
- package/plugins/examples/command-template/.ur-plugin/plugin.json +12 -0
- package/plugins/examples/command-template/README.md +9 -0
- package/plugins/examples/command-template/commands/example.md +7 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review the working diff against a base ref. Returns a structured report.
|
|
3
|
+
argument-hint: "[base-ref] (default: main)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Determine the base ref: if `$ARGUMENTS` is non-empty, use it; otherwise use
|
|
7
|
+
`main` if it exists, otherwise `master`, otherwise `HEAD~5`.
|
|
8
|
+
|
|
9
|
+
Run the diff:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
git diff <base>...HEAD
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If the diff is empty, say "No changes to review against `<base>`." and stop.
|
|
16
|
+
|
|
17
|
+
Otherwise produce a markdown report with these sections, in order. Skip any
|
|
18
|
+
section that has no findings rather than padding it.
|
|
19
|
+
|
|
20
|
+
### Correctness
|
|
21
|
+
Logic errors, missed edge cases, null / empty / boundary handling, off-by-one,
|
|
22
|
+
concurrency bugs, error paths that don't propagate. For each, name the file
|
|
23
|
+
and line and quote the problematic snippet.
|
|
24
|
+
|
|
25
|
+
### Style and consistency
|
|
26
|
+
Inconsistent naming with the rest of the file, dead or unreachable code,
|
|
27
|
+
duplicated logic, abstraction that obscures rather than clarifies, comments
|
|
28
|
+
that contradict the code.
|
|
29
|
+
|
|
30
|
+
### Test coverage
|
|
31
|
+
Was test-shaped code touched? Are there tests for the new behaviour? Flag
|
|
32
|
+
any change to public surface area with no matching test change.
|
|
33
|
+
|
|
34
|
+
### Security
|
|
35
|
+
Injection risks (SQL, shell, path), secret / token leakage in logs or
|
|
36
|
+
errors, unsafe deserialization, missing input validation at trust
|
|
37
|
+
boundaries, permissive permission grants.
|
|
38
|
+
|
|
39
|
+
### TL;DR
|
|
40
|
+
End with one line, exactly one of:
|
|
41
|
+
|
|
42
|
+
- `TL;DR: Looks good.` — no findings or only nits, nothing blocking.
|
|
43
|
+
- `TL;DR: Has nits.` — one or more cosmetic findings, nothing blocking.
|
|
44
|
+
- `TL;DR: Has blockers.` — at least one correctness or security finding
|
|
45
|
+
that should be fixed before merging.
|
|
46
|
+
|
|
47
|
+
Do not editorialize about the author. Review the code, not the person.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "engineering-discipline",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Reference plugin for UR's marketplace extensibility: a CI/release command, executable skill, agent template, verifier validator, and language/LSP adapter metadata.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Maitham Al-rubaye",
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/engineering-discipline",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
|
+
"keywords": ["workflow", "ci", "release", "validator", "template", "language-adapter"],
|
|
13
|
+
"skills": "./skills",
|
|
14
|
+
"templates": "./templates",
|
|
15
|
+
"validators": "./validators",
|
|
16
|
+
"languageAdapters": {
|
|
17
|
+
"markdown": {
|
|
18
|
+
"extensions": [".md", ".mdx"],
|
|
19
|
+
"engine": "lsp",
|
|
20
|
+
"lspServerName": "markdown"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"lspServers": {
|
|
24
|
+
"markdown": {
|
|
25
|
+
"command": "markdown-language-server",
|
|
26
|
+
"args": ["--stdio"],
|
|
27
|
+
"extensionToLanguage": {
|
|
28
|
+
".md": "markdown",
|
|
29
|
+
".mdx": "markdown"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# engineering-discipline
|
|
2
|
+
|
|
3
|
+
Reference plugin for UR's marketplace extensibility.
|
|
4
|
+
|
|
5
|
+
It demonstrates how a marketplace plugin can add more than a slash command:
|
|
6
|
+
|
|
7
|
+
- command: `/discipline-check`
|
|
8
|
+
- skill: `engineering-discipline:reproducible-release`
|
|
9
|
+
- agent template: `release-verifier`
|
|
10
|
+
- validator: `release-gate`
|
|
11
|
+
- language adapter: Markdown/MDX through an LSP declaration
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
/plugin install engineering-discipline@ur-plugins-official
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The validator is intentionally conservative and mirrors the release gate used
|
|
20
|
+
for production readiness. The language adapter only activates when the matching
|
|
21
|
+
Markdown language server is installed locally.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Check whether a change is ready for reproducible release: plan, patch, tests, verifier evidence, docs, benchmark notes, and rollback path."
|
|
3
|
+
argument-hint: "[changed area or release target]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- "Bash(git status:*)"
|
|
6
|
+
- "Bash(git diff:*)"
|
|
7
|
+
- "Bash(bun run typecheck:*)"
|
|
8
|
+
- "Bash(bun run lint:*)"
|
|
9
|
+
- "Bash(bun test:*)"
|
|
10
|
+
- "Bash(bun run release:check:*)"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
Audit the current change as a reproducible engineering workflow.
|
|
14
|
+
|
|
15
|
+
Check whether the work has a clear plan, scoped patch, executed tests, verifier
|
|
16
|
+
evidence, documentation updates, benchmark or eval notes when relevant, and a
|
|
17
|
+
rollback path. Prefer command evidence over claims. Do not mark the change ready
|
|
18
|
+
unless the required commands were actually executed and passed.
|
|
19
|
+
|
|
20
|
+
Return:
|
|
21
|
+
|
|
22
|
+
1. Status: READY, BLOCKED, or NEEDS-EVIDENCE.
|
|
23
|
+
2. Evidence commands observed.
|
|
24
|
+
3. Missing evidence.
|
|
25
|
+
4. Release or rollback risk.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Reproducible Release
|
|
3
|
+
description: Use when preparing a UR-style engineering change for release. Enforces spec -> plan -> patch -> test -> verify -> document -> benchmark -> reproduce, with explicit command evidence and rollback notes.
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Reproducible Release
|
|
8
|
+
|
|
9
|
+
Use this skill when a change must be ready for production, npm packaging, or a
|
|
10
|
+
research/demo artifact.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. State the intended release surface and affected commands.
|
|
15
|
+
2. Inspect the diff and list public API, generated-file, and safety risks.
|
|
16
|
+
3. Run the smallest relevant compile/test/lint checks, then broaden to the full
|
|
17
|
+
release gate when risk warrants it.
|
|
18
|
+
4. Record command evidence exactly: command, exit code, stdout/stderr summary,
|
|
19
|
+
and next action.
|
|
20
|
+
5. Confirm documentation and marketplace files are updated when user-facing
|
|
21
|
+
behavior changes.
|
|
22
|
+
6. Produce a PR-style report with summary, changed files, tests run, risks,
|
|
23
|
+
rollback command, and remaining TODOs.
|
|
24
|
+
|
|
25
|
+
## Hard Rules
|
|
26
|
+
|
|
27
|
+
- Never claim tests passed without command evidence.
|
|
28
|
+
- Never hide a failed command or skipped gate.
|
|
29
|
+
- Never edit generated/vendor files unless the task explicitly requires it.
|
|
30
|
+
- Never publish or tag until the release gate passes and the user explicitly
|
|
31
|
+
asks for publishing.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release-verifier
|
|
3
|
+
description: Reviews whether a change is releasable, auditable, and rollback-ready.
|
|
4
|
+
color: green
|
|
5
|
+
effort: high
|
|
6
|
+
permissionMode: default
|
|
7
|
+
memory: project
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
You are a release verification agent.
|
|
11
|
+
|
|
12
|
+
Review the current change as if it were going to production. Demand command
|
|
13
|
+
evidence for compile, lint, tests, bundle, smoke, package, and secret scan when
|
|
14
|
+
the change touches release or runtime behavior. Inspect docs and generated
|
|
15
|
+
artifacts. Report findings first, then summarize the release readiness state.
|
|
16
|
+
|
|
17
|
+
Do not approve a release if the production bundle is stale, tests were not run,
|
|
18
|
+
or publishing would not be gated by successful CI.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "evaluate-response",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Adds /evaluate-response — adversarial self-evaluation of the most recent assistant turn.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Maitham Al-rubaye",
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/evaluate-response",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
|
+
"keywords": ["quality", "self-evaluation", "verifier"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# evaluate-response
|
|
2
|
+
|
|
3
|
+
Adds `/evaluate-response` — adversarial self-evaluation of the most recent
|
|
4
|
+
assistant response.
|
|
5
|
+
|
|
6
|
+
## Use
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
/evaluate-response
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Invoke right after the agent finishes a task to catch hallucinated
|
|
13
|
+
completions, missed sub-questions, factual drift, or narrated-but-not-done
|
|
14
|
+
work.
|
|
15
|
+
|
|
16
|
+
## What it returns
|
|
17
|
+
|
|
18
|
+
A markdown report against five criteria — Completeness, Accuracy, Tool
|
|
19
|
+
use vs narration, Honesty about completion, Clarity — plus a mandatory
|
|
20
|
+
one-line verdict:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
QUALITY: HIGH | MEDIUM | LOW — <rationale>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
And one concrete, specific improvement (not generic advice).
|
|
27
|
+
|
|
28
|
+
## How it pairs with the verifier
|
|
29
|
+
|
|
30
|
+
The verifier subsystem catches structural problems automatically (no Write
|
|
31
|
+
call but claimed "created the file", same Bash call 3 times in a row, the
|
|
32
|
+
build doesn't compile). `/evaluate-response` is for the harder cases the
|
|
33
|
+
verifier can't see: did the response actually answer the question, were the
|
|
34
|
+
facts right, was the tone honest.
|
|
35
|
+
|
|
36
|
+
Useful as a manual cross-check before committing what the agent produced.
|
|
37
|
+
|
|
38
|
+
## Install
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
/plugin install evaluate-response@ur-plugins-official
|
|
42
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Adversarially evaluate the most recent assistant response. Be ruthless.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
You are about to evaluate your own most recent response — the assistant
|
|
6
|
+
message immediately before this command was invoked. Your goal is to catch
|
|
7
|
+
your own mistakes, not to defend your own work.
|
|
8
|
+
|
|
9
|
+
Look at the most recent assistant turn in the transcript. Read both the
|
|
10
|
+
text and the tool calls. Then evaluate it against these criteria. Be
|
|
11
|
+
specific. "Looks fine" is not an answer.
|
|
12
|
+
|
|
13
|
+
### Completeness
|
|
14
|
+
|
|
15
|
+
Did the response actually answer every part of the user's question? List
|
|
16
|
+
any sub-question or sub-task that was skipped, glossed over, or deferred
|
|
17
|
+
without explicit acknowledgement.
|
|
18
|
+
|
|
19
|
+
### Accuracy
|
|
20
|
+
|
|
21
|
+
Are factual claims and code references correct? Spot-check at least one
|
|
22
|
+
file path or symbol name the response mentioned by reading it with the
|
|
23
|
+
Read tool. Report any drift.
|
|
24
|
+
|
|
25
|
+
### Tool use vs narration
|
|
26
|
+
|
|
27
|
+
Did the response use tools where appropriate, or did it narrate work it
|
|
28
|
+
should have actually performed? A response that says "I would edit X to
|
|
29
|
+
do Y" without calling Edit is a tool-use failure. Flag specifically.
|
|
30
|
+
|
|
31
|
+
### Honesty about completion
|
|
32
|
+
|
|
33
|
+
Did the response claim work that was not actually performed? Cross-check
|
|
34
|
+
"I created / edited / ran X" claims against actual tool calls in the same
|
|
35
|
+
turn. If a claim has no matching successful tool result, that is a
|
|
36
|
+
hallucinated completion — call it out.
|
|
37
|
+
|
|
38
|
+
### Clarity and concision
|
|
39
|
+
|
|
40
|
+
Was the response well structured for the user to skim? Or did it bury the
|
|
41
|
+
useful information under filler? One sentence each on structure and length.
|
|
42
|
+
|
|
43
|
+
### Verdict
|
|
44
|
+
|
|
45
|
+
End with exactly one line in this format:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
QUALITY: HIGH | MEDIUM | LOW — <one-sentence rationale>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- **HIGH**: complete, accurate, honest, used tools where needed, easy to
|
|
52
|
+
read. No criterion failed.
|
|
53
|
+
- **MEDIUM**: one or two minor issues. Useful but not great.
|
|
54
|
+
- **LOW**: a criterion failed in a way that would mislead the user
|
|
55
|
+
(hallucinated completion, factually wrong claim, missed a question).
|
|
56
|
+
|
|
57
|
+
Then list one specific, concrete improvement the response could have made.
|
|
58
|
+
Not generic advice — a precise sentence the response should have included
|
|
59
|
+
or a tool call it should have made.
|
|
60
|
+
|
|
61
|
+
Do not soften findings. The point of this command is signal, not comfort.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "explain-error",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Adds /explain-error — re-runs a failing command and diagnoses the error in plain English.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Maitham Al-rubaye",
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/explain-error",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
|
+
"keywords": ["debug", "error", "troubleshooting"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# explain-error
|
|
2
|
+
|
|
3
|
+
Adds `/explain-error` — diagnose a failing command, in plain English, with
|
|
4
|
+
two concrete next steps to try.
|
|
5
|
+
|
|
6
|
+
## Use
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
/explain-error bun test
|
|
10
|
+
/explain-error
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
With a command argument, re-runs that command and analyzes the failure.
|
|
14
|
+
Without an argument, looks back through the transcript for the most recent
|
|
15
|
+
failing Bash call.
|
|
16
|
+
|
|
17
|
+
## What it returns
|
|
18
|
+
|
|
19
|
+
Three short sections:
|
|
20
|
+
|
|
21
|
+
- **What the error means** — plain-English decoding of the message.
|
|
22
|
+
- **Most likely cause** — the single most plausible root cause given the
|
|
23
|
+
project context.
|
|
24
|
+
- **Next steps** — two concrete things to try, ordered by likelihood.
|
|
25
|
+
|
|
26
|
+
Stays specific to the error in front of it. Does not lecture about debugging.
|
|
27
|
+
|
|
28
|
+
## Install
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
/plugin install explain-error@ur-plugins-official
|
|
32
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Diagnose a failing command. Re-runs it, explains the error, suggests next steps.
|
|
3
|
+
argument-hint: "<command-to-rerun>"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If `$ARGUMENTS` is non-empty, treat it as the command to investigate. Re-run
|
|
7
|
+
it via the Bash tool exactly as given and capture stdout, stderr, and the
|
|
8
|
+
exit code.
|
|
9
|
+
|
|
10
|
+
If `$ARGUMENTS` is empty, scan the most recent transcript turns for the last
|
|
11
|
+
failing Bash command (non-zero exit) and use that one. If you cannot find a
|
|
12
|
+
recent failure, ask the user to paste the failing command and stop.
|
|
13
|
+
|
|
14
|
+
Then produce a short, structured diagnosis:
|
|
15
|
+
|
|
16
|
+
### What the error means
|
|
17
|
+
|
|
18
|
+
One or two sentences in plain English. Decode jargon. If the error message
|
|
19
|
+
is generic ("Error: 1"), say so and rely on the stderr context.
|
|
20
|
+
|
|
21
|
+
### Most likely cause
|
|
22
|
+
|
|
23
|
+
The single most likely root cause, given the project context (read
|
|
24
|
+
`package.json`, `UR.md`, or relevant config files only if it sharpens
|
|
25
|
+
the diagnosis — do not spelunk for the sake of it).
|
|
26
|
+
|
|
27
|
+
### Next steps
|
|
28
|
+
|
|
29
|
+
Two concrete next things to try, ordered by likelihood. Each step is a
|
|
30
|
+
shell command or a one-line action, not a paragraph of advice.
|
|
31
|
+
|
|
32
|
+
If the error is genuinely opaque, list commands that would gather more
|
|
33
|
+
information (e.g. re-run with a verbosity flag, check a log file, inspect
|
|
34
|
+
the relevant file's mode) instead of guessing.
|
|
35
|
+
|
|
36
|
+
Do not lecture about general debugging methodology. Stay specific to this
|
|
37
|
+
error.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "git-summary",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Adds /git-summary — a one-paragraph factual summary of the working tree and recent history.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Maitham Al-rubaye",
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/git-summary",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
|
+
"keywords": ["git", "summary", "standup", "workflow"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# git-summary
|
|
2
|
+
|
|
3
|
+
Adds `/git-summary` — a one-paragraph factual summary of the working tree
|
|
4
|
+
and the last few commits.
|
|
5
|
+
|
|
6
|
+
## Use
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
/git-summary
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Useful before standup, before opening a PR, before clocking out.
|
|
13
|
+
|
|
14
|
+
## What it does
|
|
15
|
+
|
|
16
|
+
Runs three git commands in parallel:
|
|
17
|
+
|
|
18
|
+
- `git status --short`
|
|
19
|
+
- `git diff --stat`
|
|
20
|
+
- `git log -5 --oneline`
|
|
21
|
+
|
|
22
|
+
Then asks the model to produce a 3–5 sentence factual summary plus a
|
|
23
|
+
one-line branch / clean status footer.
|
|
24
|
+
|
|
25
|
+
## Install
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
/plugin install git-summary@ur-plugins-official
|
|
29
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Summarize the working tree and recent commits in one paragraph.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Run these three Bash commands in parallel:
|
|
6
|
+
|
|
7
|
+
1. `git status --short`
|
|
8
|
+
2. `git diff --stat`
|
|
9
|
+
3. `git log -5 --oneline`
|
|
10
|
+
|
|
11
|
+
If any of those commands fail (not a git repo, no commits yet, etc.) say so
|
|
12
|
+
plainly and stop.
|
|
13
|
+
|
|
14
|
+
Otherwise, write a single paragraph (3–5 sentences) that covers:
|
|
15
|
+
|
|
16
|
+
- What files are modified, added, or deleted (by category, not file-by-file
|
|
17
|
+
unless there are five or fewer).
|
|
18
|
+
- The total scope of changes (insertions and deletions).
|
|
19
|
+
- Context from the five most recent commits — what direction the work has
|
|
20
|
+
been moving in.
|
|
21
|
+
|
|
22
|
+
Do not editorialize. Do not project intent onto the changes. Stick to what
|
|
23
|
+
the commands actually returned.
|
|
24
|
+
|
|
25
|
+
End with one short line: the current branch and whether the working tree
|
|
26
|
+
is clean. Use the format `branch: <name> — clean` or
|
|
27
|
+
`branch: <name> — N files dirty`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "github",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Drive GitHub from UR: review and open pull requests, triage issues, and check repo health — through GitHub's official remote MCP server or the gh CLI.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Maitham Al-rubaye",
|
|
7
|
+
"url": "https://github.com/Maitham16/UR"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/Maitham16/UR/tree/master/plugins/core/github",
|
|
10
|
+
"repository": "https://github.com/Maitham16/UR",
|
|
11
|
+
"license": "LicenseRef-UR-AGENT-Non-Commercial-Self-Responsibility",
|
|
12
|
+
"keywords": ["github", "pull-request", "issues", "ci", "devops", "mcp"],
|
|
13
|
+
"mcpServers": {
|
|
14
|
+
"github": {
|
|
15
|
+
"type": "http",
|
|
16
|
+
"url": "https://api.githubcopilot.com/mcp/",
|
|
17
|
+
"headers": {
|
|
18
|
+
"Authorization": "Bearer ${user_config.GITHUB_TOKEN}"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"userConfig": {
|
|
23
|
+
"GITHUB_TOKEN": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"title": "GitHub token",
|
|
26
|
+
"description": "Fine-grained or classic personal access token used by the official GitHub MCP server. Scope it to the repositories and toolsets you want UR to reach. The gh CLI uses its own gh auth login session and does not read this value.",
|
|
27
|
+
"required": true,
|
|
28
|
+
"sensitive": true
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# github
|
|
2
|
+
|
|
3
|
+
Drive GitHub from any UR session: review and open pull requests, triage issues,
|
|
4
|
+
and check repository health. Backed by GitHub's official remote MCP server, with
|
|
5
|
+
the `gh` CLI as a fallback.
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
| Command | Argument | What it does |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| `/gh-pr-review` | `[pr-number \| url]` | Structured review of a PR with a TL;DR verdict. |
|
|
12
|
+
| `/gh-pr-create` | `[base-branch]` | Open a PR from the current branch with a generated title and body. |
|
|
13
|
+
| `/gh-issues` | `[label \| query]` | Cluster, label, and prioritize open issues. |
|
|
14
|
+
| `/gh-repo-health` | `[owner/repo]` | One-screen snapshot of PRs, issues, CI, and releases. |
|
|
15
|
+
|
|
16
|
+
A bundled `github-workflow` skill documents toolsets, the `gh` cheatsheet, token
|
|
17
|
+
scopes, and guardrails.
|
|
18
|
+
|
|
19
|
+
## Setup
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
/plugin install github@ur-plugins-official
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
On enable, set **GITHUB_TOKEN** — a fine-grained or classic personal access
|
|
26
|
+
token for the official MCP server (`https://api.githubcopilot.com/mcp/`). Scope
|
|
27
|
+
it to the repositories and toolsets you want UR to reach.
|
|
28
|
+
|
|
29
|
+
The `gh` CLI uses its own `gh auth login` session and does not read this token;
|
|
30
|
+
the commands work through whichever path is available.
|
|
31
|
+
|
|
32
|
+
## Security
|
|
33
|
+
|
|
34
|
+
The token is stored in secure storage (keychain / credentials file), never in
|
|
35
|
+
plaintext settings. Mutating actions — opening PRs, labeling, closing — are
|
|
36
|
+
proposed, not taken, unless you ask for them. Force-pushing protected branches
|
|
37
|
+
and merging are never done automatically.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Triage open GitHub issues — cluster, label, and propose next actions.
|
|
3
|
+
argument-hint: "[label | search query] (optional)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
List open issues for the current repository, filtered by `$ARGUMENTS` if given.
|
|
7
|
+
|
|
8
|
+
Then triage:
|
|
9
|
+
|
|
10
|
+
1. Cluster the issues into 2–5 themes (bug, feature, docs, question, etc.).
|
|
11
|
+
2. For each issue, propose: a label, the single next action, and a priority
|
|
12
|
+
(P0 blocking / P1 soon / P2 later) with a one-line reason.
|
|
13
|
+
3. Call out duplicates and stale issues (no activity in a long time).
|
|
14
|
+
|
|
15
|
+
End with the three issues most worth doing next and why.
|
|
16
|
+
|
|
17
|
+
Prefer the `github` MCP tools; otherwise use `gh issue list`. If neither is
|
|
18
|
+
configured, point the user to the README and stop. Propose changes only — do not
|
|
19
|
+
label, close, or comment unless explicitly asked.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Open a GitHub pull request from the current branch with a generated title and body.
|
|
3
|
+
argument-hint: "[base-branch] (default: repo default branch)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Open a pull request for the current branch.
|
|
7
|
+
|
|
8
|
+
1. Determine the base: `$ARGUMENTS` if given, else the repository default branch.
|
|
9
|
+
2. Confirm the branch is pushed to the remote; if not, push it.
|
|
10
|
+
3. Collect the commits between base and HEAD and any diff stat.
|
|
11
|
+
4. Draft the PR:
|
|
12
|
+
- **Title**: one Conventional-Commit-style line summarizing the change.
|
|
13
|
+
- **Body**: `## Summary` (what and why, 2–4 bullets), `## Changes` (grouped),
|
|
14
|
+
`## Test plan` (how it was verified).
|
|
15
|
+
5. Create the PR against the base branch and print its URL.
|
|
16
|
+
|
|
17
|
+
Prefer the `github` MCP tools; otherwise use `gh pr create`. If neither is
|
|
18
|
+
configured, point the user to the README and stop. Never merge — creating the PR
|
|
19
|
+
is the end state. Do not include secrets in the title or body.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Review a GitHub pull request and return a structured verdict.
|
|
3
|
+
argument-hint: "[pr-number | url] (default: PR for the current branch)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Resolve the PR: if `$ARGUMENTS` names a number or URL, use it; otherwise find
|
|
7
|
+
the open PR for the current branch.
|
|
8
|
+
|
|
9
|
+
Fetch the diff and metadata, then review it. Produce a markdown report with
|
|
10
|
+
these sections, skipping any with no findings:
|
|
11
|
+
|
|
12
|
+
### Correctness
|
|
13
|
+
Logic errors, missed edge cases, null / boundary handling, races, error paths
|
|
14
|
+
that swallow failures. Name the file and line and quote the snippet.
|
|
15
|
+
|
|
16
|
+
### Style and consistency
|
|
17
|
+
Naming that fights the surrounding code, dead code, duplicated logic, comments
|
|
18
|
+
that contradict the code.
|
|
19
|
+
|
|
20
|
+
### Test coverage
|
|
21
|
+
Was test-shaped code touched? Is the new behaviour tested? Flag changes to
|
|
22
|
+
public surface area with no matching test.
|
|
23
|
+
|
|
24
|
+
### Security
|
|
25
|
+
Injection (SQL/shell/path), secret leakage, unsafe deserialization, missing
|
|
26
|
+
validation at trust boundaries, over-broad permissions.
|
|
27
|
+
|
|
28
|
+
### TL;DR
|
|
29
|
+
End with exactly one of:
|
|
30
|
+
- `TL;DR: Looks good.`
|
|
31
|
+
- `TL;DR: Has nits.`
|
|
32
|
+
- `TL;DR: Has blockers.`
|
|
33
|
+
|
|
34
|
+
Prefer the `github` MCP tools (pull request read + diff). If they are not
|
|
35
|
+
available, use the `gh` CLI (`gh pr view`, `gh pr diff`), which uses its own
|
|
36
|
+
`gh auth login` session. If neither is configured, point the user to the plugin
|
|
37
|
+
README and stop. Do not post a review comment unless explicitly asked.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: One-screen health snapshot of a GitHub repository.
|
|
3
|
+
argument-hint: "[owner/repo] (default: current repository)"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Build a health snapshot for `$ARGUMENTS` if given, else the current repository.
|
|
7
|
+
|
|
8
|
+
Gather and summarize:
|
|
9
|
+
- Open pull requests: count, and any that are stale or have failing checks.
|
|
10
|
+
- Open issues: count and rough theme breakdown.
|
|
11
|
+
- Latest CI runs: pass/fail of the most recent runs on the default branch.
|
|
12
|
+
- Branches: stale branches merged or long inactive.
|
|
13
|
+
- Releases: the latest release/tag and how long ago it shipped.
|
|
14
|
+
|
|
15
|
+
Keep it to one screen. End with a verdict line, exactly one of:
|
|
16
|
+
- `HEALTH: GREEN — nothing demands attention.`
|
|
17
|
+
- `HEALTH: YELLOW — a few things to watch.`
|
|
18
|
+
- `HEALTH: RED — needs attention now.`
|
|
19
|
+
followed by the single highest-priority item.
|
|
20
|
+
|
|
21
|
+
Prefer the `github` MCP tools; otherwise use `gh` (`gh pr list`, `gh issue list`,
|
|
22
|
+
`gh run list`, `gh release view`). If neither is configured, point the user to
|
|
23
|
+
the README and stop.
|