Skip to content

Commit e81ee2a

Browse files
authored
Merge branch 'main' into jira-workbench-sync
2 parents 35ec325 + 60dcb90 commit e81ee2a

4 files changed

Lines changed: 155 additions & 19 deletions

File tree

‎.github/plugin/marketplace.json‎

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1487,6 +1487,33 @@
14871487
"description": "Essential prompts, instructions, and chat modes for modern frontend web development including React, Angular, Vue, TypeScript, and CSS frameworks.",
14881488
"version": "1.0.0"
14891489
},
1490+
{
1491+
"name": "frugal",
1492+
"description": "Before your agent signs up for a paid API, LLM model, cloud service, SaaS plan, domain or anything else that costs money, it checks free tiers, right-sized plans and billing periods, startup, student, open-source and nonprofit programs, verified promo codes and cheaper alternatives, sized to the amount at stake. It never pays by itself.",
1493+
"version": "1.0.2",
1494+
"author": {
1495+
"name": "Nir Feinstein",
1496+
"url": "https://github.com/fainir"
1497+
},
1498+
"repository": "https://github.com/fainir/frugal",
1499+
"homepage": "https://github.com/fainir/frugal",
1500+
"license": "MIT",
1501+
"keywords": [
1502+
"cost-saving",
1503+
"finops",
1504+
"llm-costs",
1505+
"cloud-costs",
1506+
"saas",
1507+
"discounts",
1508+
"skill"
1509+
],
1510+
"source": {
1511+
"source": "github",
1512+
"repo": "fainir/frugal",
1513+
"ref": "v1.0.2",
1514+
"sha": "0200e93415093562c926e3cdd8e4d3ba88883b6a"
1515+
}
1516+
},
14901517
{
14911518
"name": "gem-team",
14921519
"source": "plugins/gem-team",
@@ -1712,6 +1739,29 @@
17121739
"description": "Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance.",
17131740
"version": "1.0.0"
17141741
},
1742+
{
1743+
"name": "launch-film",
1744+
"description": "Makes a 20 to 40 second launch film for a product from its website or App Store page: an MP4 at 1920x1080 with music, using the product's real logo, colors, fonts and screens. Everything renders locally with Chrome and ffmpeg, with no account or API key.",
1745+
"version": "0.2.0",
1746+
"author": {
1747+
"name": "Emin Budak",
1748+
"url": "https://eminbudak.com"
1749+
},
1750+
"repository": "https://github.com/EminBudak/launch-film",
1751+
"license": "MIT",
1752+
"keywords": [
1753+
"video",
1754+
"launch",
1755+
"brand",
1756+
"ffmpeg",
1757+
"marketing"
1758+
],
1759+
"source": {
1760+
"source": "github",
1761+
"repo": "EminBudak/launch-film",
1762+
"sha": "940979bf3d82be136c4529a0b08aee7198ef178f"
1763+
}
1764+
},
17151765
{
17161766
"name": "markdstage",
17171767
"description": "Create, edit, present, and export Markdown slides in a GitHub Copilot Canvas.",
@@ -1854,7 +1904,7 @@
18541904
{
18551905
"name": "microsoft-foundry",
18561906
"description": "Skills and interactive Copilot canvas for designing, configuring, testing and deploying agents to Microsoft Foundry.",
1857-
"version": "1.0.18",
1907+
"version": "1.0.19",
18581908
"author": {
18591909
"name": "Microsoft",
18601910
"url": "https://www.microsoft.com"
@@ -1875,7 +1925,7 @@
18751925
"source": "github",
18761926
"repo": "microsoft/foundry-dev-tools",
18771927
"path": "microsoft-foundry",
1878-
"sha": "9d17511b8bbe1cf7071f52c579280925f69fd044"
1928+
"sha": "bba484bffc275cc9640f61b7b7357be0f943e16b"
18791929
}
18801930
},
18811931
{
@@ -2942,7 +2992,7 @@
29422992
{
29432993
"name": "upgrade-agent",
29442994
"description": "AI-powered upgrade assistant for upgrading and migrating applications. Helps modernize legacy code and upgrade .NET applications to current frameworks.",
2945-
"version": "1.1.777",
2995+
"version": "1.1.784",
29462996
"author": {
29472997
"name": "Microsoft",
29482998
"url": "https://www.microsoft.com"
@@ -2961,8 +3011,8 @@
29613011
"source": "github",
29623012
"repo": "microsoft/upgrade-agent-plugins",
29633013
"path": "plugins/upgrade-agent",
2964-
"ref": "v1.1.777",
2965-
"sha": "a45a385f7b89d603942e4c9ea6750083de1c1763"
3014+
"ref": "v1.1.784",
3015+
"sha": "cede9dcfbc09a06f0e63652e64fc7545ce5fe1df"
29663016
}
29673017
},
29683018
{
@@ -3157,7 +3207,7 @@
31573207
{
31583208
"name": "wiqd",
31593209
"description": "Developer toolkit for building, validating, provisioning, and publishing Microsoft 365 Copilot plugins, including extensibility capabilities such as declarative agents, skills, and connectors, using the wiqd CLI.",
3160-
"version": "0.22.0",
3210+
"version": "0.23.0",
31613211
"author": {
31623212
"name": "Microsoft",
31633213
"url": "https://www.microsoft.com"
@@ -3179,7 +3229,7 @@
31793229
"source": "github",
31803230
"repo": "microsoft/wiqd",
31813231
"path": "plugins/wiqd",
3182-
"sha": "882c8ef358161bdf589171919f9378a8129bde61"
3232+
"sha": "925de866de27950ad2e0d66ebab694c192b27ce1"
31833233
}
31843234
},
31853235
{
40.7 KB
Loading

‎plugins/external.json‎

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1201,6 +1201,33 @@
12011201
"sha": "5837a9343db97d59107d146024b1dbd858625274"
12021202
}
12031203
},
1204+
{
1205+
"name": "frugal",
1206+
"description": "Before your agent signs up for a paid API, LLM model, cloud service, SaaS plan, domain or anything else that costs money, it checks free tiers, right-sized plans and billing periods, startup, student, open-source and nonprofit programs, verified promo codes and cheaper alternatives, sized to the amount at stake. It never pays by itself.",
1207+
"version": "1.0.2",
1208+
"author": {
1209+
"name": "Nir Feinstein",
1210+
"url": "https://github.com/fainir"
1211+
},
1212+
"repository": "https://github.com/fainir/frugal",
1213+
"homepage": "https://github.com/fainir/frugal",
1214+
"license": "MIT",
1215+
"keywords": [
1216+
"cost-saving",
1217+
"finops",
1218+
"llm-costs",
1219+
"cloud-costs",
1220+
"saas",
1221+
"discounts",
1222+
"skill"
1223+
],
1224+
"source": {
1225+
"source": "github",
1226+
"repo": "fainir/frugal",
1227+
"ref": "v1.0.2",
1228+
"sha": "0200e93415093562c926e3cdd8e4d3ba88883b6a"
1229+
}
1230+
},
12041231
{
12051232
"name": "gh-skills-builder",
12061233
"description": "Design, build, review, and publish GitHub Skills-style exercises with one coordinating agent and five Agent Skills for learner journeys, workflow-backed validation, and release readiness.",
@@ -1360,6 +1387,29 @@
13601387
"sha": "2771046616a3c6bcd62916ed072f71feb5afd222"
13611388
}
13621389
},
1390+
{
1391+
"name": "launch-film",
1392+
"description": "Makes a 20 to 40 second launch film for a product from its website or App Store page: an MP4 at 1920x1080 with music, using the product's real logo, colors, fonts and screens. Everything renders locally with Chrome and ffmpeg, with no account or API key.",
1393+
"version": "0.2.0",
1394+
"author": {
1395+
"name": "Emin Budak",
1396+
"url": "https://eminbudak.com"
1397+
},
1398+
"repository": "https://github.com/EminBudak/launch-film",
1399+
"license": "MIT",
1400+
"keywords": [
1401+
"video",
1402+
"launch",
1403+
"brand",
1404+
"ffmpeg",
1405+
"marketing"
1406+
],
1407+
"source": {
1408+
"source": "github",
1409+
"repo": "EminBudak/launch-film",
1410+
"sha": "940979bf3d82be136c4529a0b08aee7198ef178f"
1411+
}
1412+
},
13631413
{
13641414
"name": "markdstage",
13651415
"description": "Create, edit, present, and export Markdown slides in a GitHub Copilot Canvas.",
@@ -1496,7 +1546,7 @@
14961546
{
14971547
"name": "microsoft-foundry",
14981548
"description": "Skills and interactive Copilot canvas for designing, configuring, testing and deploying agents to Microsoft Foundry.",
1499-
"version": "1.0.18",
1549+
"version": "1.0.19",
15001550
"author": {
15011551
"name": "Microsoft",
15021552
"url": "https://www.microsoft.com"
@@ -1517,7 +1567,7 @@
15171567
"source": "github",
15181568
"repo": "microsoft/foundry-dev-tools",
15191569
"path": "microsoft-foundry",
1520-
"sha": "9d17511b8bbe1cf7071f52c579280925f69fd044"
1570+
"sha": "bba484bffc275cc9640f61b7b7357be0f943e16b"
15211571
}
15221572
},
15231573
{
@@ -2296,7 +2346,7 @@
22962346
{
22972347
"name": "upgrade-agent",
22982348
"description": "AI-powered upgrade assistant for upgrading and migrating applications. Helps modernize legacy code and upgrade .NET applications to current frameworks.",
2299-
"version": "1.1.777",
2349+
"version": "1.1.784",
23002350
"author": {
23012351
"name": "Microsoft",
23022352
"url": "https://www.microsoft.com"
@@ -2315,8 +2365,8 @@
23152365
"source": "github",
23162366
"repo": "microsoft/upgrade-agent-plugins",
23172367
"path": "plugins/upgrade-agent",
2318-
"ref": "v1.1.777",
2319-
"sha": "a45a385f7b89d603942e4c9ea6750083de1c1763"
2368+
"ref": "v1.1.784",
2369+
"sha": "cede9dcfbc09a06f0e63652e64fc7545ce5fe1df"
23202370
}
23212371
},
23222372
{
@@ -2493,7 +2543,7 @@
24932543
{
24942544
"name": "wiqd",
24952545
"description": "Developer toolkit for building, validating, provisioning, and publishing Microsoft 365 Copilot plugins, including extensibility capabilities such as declarative agents, skills, and connectors, using the wiqd CLI.",
2496-
"version": "0.22.0",
2546+
"version": "0.23.0",
24972547
"author": {
24982548
"name": "Microsoft",
24992549
"url": "https://www.microsoft.com"
@@ -2515,7 +2565,7 @@
25152565
"source": "github",
25162566
"repo": "microsoft/wiqd",
25172567
"path": "plugins/wiqd",
2518-
"sha": "882c8ef358161bdf589171919f9378a8129bde61"
2568+
"sha": "925de866de27950ad2e0d66ebab694c192b27ce1"
25192569
}
25202570
}
25212571
]

‎skills/git-commit/SKILL.md‎

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: git-commit
33
description: 'Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types "/commit" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.'
44
license: MIT
5-
compatibility: 'Requires Git. The `--resolved` option of `git add` requires Git 2.56 or later.'
5+
compatibility: 'Requires Git. The `--resolved` option of `git add` requires Git 2.56 or later. Older versions use the fallback in step 3.'
66
allowed-tools: shell(git:*)
77
---
88

@@ -74,11 +74,44 @@ git diff --staged
7474
git diff
7575
```
7676

77-
If there are no changes, tell the user. Do not make an empty commit.
77+
If there are no changes, run the checks at the start of step 3. If they find `MERGE_HEAD`, continue. If not, tell the user what `git status --long` shows. Do not make an empty commit.
7878

7979
### 3. Stage the files
8080

81-
Put one logical change in each commit. If the staged files contain more than one change, first unstage the files of the other changes. Then stage the files for this change:
81+
First, check for an operation in progress. Run each command alone. Do not chain them with `&&`. In a subdirectory, run every command in this step as `git -C <root> ...`. `git rev-parse --show-toplevel` prints the root.
82+
83+
```bash
84+
git rev-parse -q --verify --symbolic-full-name MERGE_HEAD
85+
git rev-parse -q --verify --symbolic-full-name CHERRY_PICK_HEAD
86+
git rev-parse -q --verify --symbolic-full-name REVERT_HEAD
87+
git diff --name-only --diff-filter=U --no-relative
88+
git status --long
89+
```
90+
91+
A `rev-parse` command prints a ref name if its operation is in progress. If not, the command prints nothing and exits with status 1. The `git diff` command lists unmerged files. It finds conflicts that have no ref, for example from `git stash pop`. `git status --long` shows the other cases.
92+
93+
**If an operation is in progress or there are unmerged files**, do not unstage files. Do not split the commit. The index holds the result of the operation. If you unstage a file, Git drops the changes of the other side or removes a conflict entry.
94+
95+
- Stop and tell the user if `git status --long` shows "rebase in progress", "You are in the middle of an am session", "Cherry-pick currently in progress", or "Revert currently in progress".
96+
- Run `git status --porcelain=v2`. A line that starts with `u` shows an unmerged file. You can resolve the file only if all these conditions are true:
97+
- The line starts with `u UU N...` or `u AA N...`.
98+
- Each mode on the line is `100644`, `100755`, or `000000`.
99+
- `git diff --no-relative` does not show `Binary files differ` for the file.
100+
- Ask the user how to resolve all other unmerged files. Git cannot find conflict markers in these files. `git add --resolved` and the checks below stage these files without a warning. Stage each of these files only after the user resolves it: `git add -- <path>`.
101+
- With Git 2.56 or later, stage the files that you can resolve with `git add --resolved -- <paths>`.
102+
- With older Git, check those files and stage them:
103+
104+
```bash
105+
git diff --check -- path/to/file1 path/to/file2
106+
git add -- path/to/file1 path/to/file2
107+
```
108+
109+
- Stage the files only if `git diff --check` finds no "leftover conflict marker" line. Ignore whitespace warnings from the other branch.
110+
- Then, with any Git version, run `git diff --name-only --no-relative` and `git ls-files --others --exclude-standard`. They list edits in other files. Skip the files that are still unmerged.
111+
- Show these paths to the user. Ask if they belong to the commit. Stage only the approved paths with `git add -- <paths>`.
112+
- Git quotes some paths, for example paths with non-ASCII characters. `git add` fails for a quoted path. Ask the user about these files.
113+
114+
**If there is no operation and no unmerged file**, put one logical change in each commit. If the staged files contain more than one change, first unstage the files of the other changes. Then stage the files for this change:
82115

83116
```bash
84117
git reset -q -- path/to/other-file1 path/to/other-file2
@@ -89,7 +122,6 @@ git add -- src/components/
89122

90123
- Put a glob in quotes. Without quotes, the shell expands the glob and does not find the files in subdirectories.
91124
- Do not use `git add -p` or `git add -i`. These commands wait for input from a person.
92-
- After you resolve a merge conflict, use `git add --resolved`. This command stages only the resolved files. If a file still has conflict markers, the command stops.
93125
- Examine the list of staged files with `git diff --staged --name-only`. Do not commit secrets, for example `.env` files, `credentials.json`, or private keys.
94126

95127
### 4. Write the message
@@ -102,6 +134,10 @@ Get each part from the diff:
102134

103135
### 5. Commit
104136

137+
When step 3 finds `MERGE_HEAD`, `CHERRY_PICK_HEAD`, or `REVERT_HEAD`, run `git commit --no-edit` with no paths and no `--cleanup` option. This keeps the message that Git prepared. Do not write a new `-m` message. The message can keep the `Conflicts:` comment lines from Git. Do not remove them.
138+
139+
In all other cases:
140+
105141
Give each paragraph with a different `-m` option. Git puts a blank line between the paragraphs. This command works in Bash, PowerShell, and other shells.
106142

107143
```bash
@@ -114,7 +150,7 @@ For a long message, write the message to a temporary file. Then run `git commit
114150
### 6. Make sure that the commit is correct
115151

116152
```bash
117-
git log -1 --stat
153+
git log -1 --stat --first-parent
118154
git status --porcelain
119155
```
120156

0 commit comments

Comments
 (0)