Skip to content

Commit 51f9acd

Browse files
MarkusCopilot
andcommitted
chore: merge origin/main - resolve conflicts
- CHANGELOG.md: take released [0.8.3] block from origin, discard auto-generated [Unreleased] section that shouldn't have been committed - __init__.py: add devin_skill_mode from origin, preserve multi-line native_skill_mode format from HEAD Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2 parents 563cf46 + da1bf02 commit 51f9acd

14 files changed

Lines changed: 263 additions & 12 deletions

File tree

.github/ISSUE_TEMPLATE/agent_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ body:
88
value: |
99
Thanks for requesting a new agent! Before submitting, please check if the agent is already supported.
1010
11-
**Currently supported agents**: Claude Code, Gemini CLI, GitHub Copilot, Cursor, Qwen Code, opencode, Codex CLI, Windsurf, Kilo Code, Auggie CLI, Roo Code, CodeBuddy, Qoder CLI, Kiro CLI, Amp, SHAI, Tabnine CLI, Antigravity, IBM Bob, Mistral Vibe, Kimi Code, Trae, Pi Coding Agent, iFlow CLI
11+
**Currently supported agents**: Claude Code, Gemini CLI, GitHub Copilot, Cursor, Qwen Code, opencode, Codex CLI, Windsurf, Kilo Code, Auggie CLI, Roo Code, CodeBuddy, Qoder CLI, Kiro CLI, Amp, SHAI, Tabnine CLI, Antigravity, IBM Bob, Mistral Vibe, Kimi Code, Trae, Pi Coding Agent, iFlow CLI, Devin for Terminal
1212
1313
- type: input
1414
id: agent-name

CHANGELOG.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,20 @@
22

33
<!-- insert new changelog below this comment -->
44

5-
## [Unreleased]
5+
## [0.8.3] - 2026-04-29
66

7-
### Fixed
7+
### Changed
88

9-
- fix(workflows): auto-detect project integration instead of hardcoding copilot default (Fixes #2406)
9+
- Add Work IQ extension to community catalog (#2415)
10+
- feat(integrations): add Devin for Terminal skills-based integration (#2364)
11+
- fix: include --from git+... in upgrade hint to avoid PyPI squat package (#2411)
12+
- fix: dispatch opencode commands via run (#2410)
13+
- feat: add catalog discovery CLI commands (#2360)
14+
- update security review extension catalog to v1.3.0 (#2374)
15+
- chore(catalog): bump v-model extension to v0.6.0 (#2399)
16+
- feat: add threatmodel extension to community catalog (#2369)
17+
- Add isaqb-architecture-governance to community catalog (#2385)
18+
- chore: release 0.8.2, begin 0.8.3.dev0 development (#2397)
1019

1120
## [0.8.2] - 2026-04-28
1221

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ The following community-contributed extensions are available in [`catalog.commun
264264
| Spec Sync | Detect and resolve drift between specs and implementation. AI-assisted resolution with human approval | `docs` | Read+Write | [spec-kit-sync](https://github.com/bgervin/spec-kit-sync) |
265265
| Spec Validate | Comprehension validation, review gating, and approval state for spec-kit artifacts — staged quizzes, peer review SLA, and a hard gate before /speckit.implement | `process` | Read+Write | [spec-kit-spec-validate](https://github.com/aeltayeb/spec-kit-spec-validate) |
266266
| SpecTest | Auto-generate test scaffolds from spec criteria, map coverage, and find untested requirements | `code` | Read+Write | [spec-kit-spectest](https://github.com/Quratulain-bilal/spec-kit-spectest) |
267+
| Squad Bridge | Bootstrap and synchronize a Squad agent team from your Speckit spec and tasks | `process` | Read+Write | [spec-kit-squad](https://github.com/jwill824/spec-kit-squad) |
267268
| Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage | `code` | Read-only | [spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review) |
268269
| Status Report | Project status, feature progress, and next-action recommendations for spec-driven workflows | `visibility` | Read-only | [Open-Agent-Tools/spec-kit-status](https://github.com/Open-Agent-Tools/spec-kit-status) |
269270
| Superpowers Bridge | Orchestrates obra/superpowers skills within the spec-kit SDD workflow across the full lifecycle (clarification, TDD, review, verification, critique, debugging, branch completion) | `process` | Read+Write | [superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge) |
@@ -275,6 +276,7 @@ The following community-contributed extensions are available in [`catalog.commun
275276
| Version Guard | Verify tech stack versions against live npm registries before planning and implementation | `process` | Read-only | [spec-kit-version-guard](https://github.com/KevinBrown5280/spec-kit-version-guard) |
276277
| What-if Analysis | Preview the downstream impact (complexity, effort, tasks, risks) of requirement changes before committing to them | `visibility` | Read-only | [spec-kit-whatif](https://github.com/DevAbdullah90/spec-kit-whatif) |
277278
| Wireframe Visual Feedback Loop | SVG wireframe generation, review, and sign-off for spec-driven development. Approved wireframes become spec constraints honored by /speckit.plan, /speckit.tasks, and /speckit.implement | `visibility` | Read+Write | [spec-kit-extension-wireframe](https://github.com/TortoiseWolfe/spec-kit-extension-wireframe) |
279+
| Work IQ | Integrate Microsoft 365 organizational knowledge into spec-driven development workflows | `integration` | Read-only | [spec-kit-workiq](https://github.com/sakitA/spec-kit-workiq) |
278280
| Worktree Isolation | Spawn isolated git worktrees for parallel feature development without checkout switching | `process` | Read+Write | [spec-kit-worktree](https://github.com/Quratulain-bilal/spec-kit-worktree) |
279281
| Worktrees | Default-on worktree isolation for parallel agents — sibling or nested layout | `process` | Read+Write | [spec-kit-worktree-parallel](https://github.com/dango85/spec-kit-worktree-parallel) |
280282

docs/reference/integrations.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The Specify CLI supports a wide range of AI coding agents. When you run `specify
1313
| [CodeBuddy CLI](https://www.codebuddy.ai/cli) | `codebuddy` | |
1414
| [Codex CLI](https://github.com/openai/codex) | `codex` | Skills-based integration; installs skills into `.agents/skills` and invokes them as `$speckit-<command>` |
1515
| [Cursor](https://cursor.sh/) | `cursor-agent` | |
16+
| [Devin for Terminal](https://cli.devin.ai/docs) | `devin` | Skills-based integration; installs skills into `.devin/skills/` and invokes them as `/speckit-<command>` |
1617
| [Forge](https://forgecode.dev/) | `forge` | |
1718
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `gemini` | |
1819
| [GitHub Copilot](https://code.visualstudio.com/) | `copilot` | |

extensions/EXTENSION-DEVELOPMENT-GUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ hooks:
669669

670670
**Error**: `Extension requires spec-kit >=0.2.0`
671671

672-
- **Fix**: Update spec-kit with `uv tool install specify-cli --force`
672+
- **Fix**: Update spec-kit with `uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git`. The bare `specify-cli` package on PyPI is a different, unrelated project — installing it without `--from git+...` will give you a stub CLI that does not include `extension`, `preset`, or other spec-kit commands.
673673

674674
**Error**: `Command file not found`
675675

extensions/catalog.community.json

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2160,6 +2160,45 @@
21602160
"created_at": "2026-04-10T16:00:00Z",
21612161
"updated_at": "2026-04-10T16:00:00Z"
21622162
},
2163+
"squad": {
2164+
"name": "Squad Bridge",
2165+
"id": "squad",
2166+
"description": "Bootstrap and synchronize a Squad agent team from your Spec Kit spec and tasks.",
2167+
"author": "jwill824",
2168+
"version": "1.1.0",
2169+
"download_url": "https://github.com/jwill824/spec-kit-squad/archive/refs/tags/v1.1.0.zip",
2170+
"repository": "https://github.com/jwill824/spec-kit-squad",
2171+
"homepage": "https://github.com/jwill824/spec-kit-squad",
2172+
"documentation": "https://github.com/jwill824/spec-kit-squad/blob/main/README.md",
2173+
"changelog": "https://github.com/jwill824/spec-kit-squad/blob/main/docs/CHANGELOG.md",
2174+
"license": "MIT",
2175+
"requires": {
2176+
"speckit_version": ">=0.1.0",
2177+
"tools": [
2178+
{
2179+
"name": "@bradygaster/squad-cli",
2180+
"version": ">=0.1.0",
2181+
"required": true
2182+
}
2183+
]
2184+
},
2185+
"provides": {
2186+
"commands": 4,
2187+
"hooks": 2
2188+
},
2189+
"tags": [
2190+
"multi-agent",
2191+
"agents",
2192+
"orchestration",
2193+
"process",
2194+
"integration"
2195+
],
2196+
"verified": false,
2197+
"downloads": 0,
2198+
"stars": 0,
2199+
"created_at": "2026-04-29T00:00:00Z",
2200+
"updated_at": "2026-04-29T00:00:00Z"
2201+
},
21632202
"staff-review": {
21642203
"name": "Staff Review Extension",
21652204
"id": "staff-review",
@@ -2613,6 +2652,50 @@
26132652
"created_at": "2026-04-22T00:00:00Z",
26142653
"updated_at": "2026-04-22T00:00:00Z"
26152654
},
2655+
"workiq": {
2656+
"name": "Work IQ",
2657+
"id": "workiq",
2658+
"description": "Integrate Microsoft 365 organizational knowledge into spec-driven development workflows",
2659+
"author": "sakitA",
2660+
"version": "1.0.0",
2661+
"download_url": "https://github.com/sakitA/spec-kit-workiq/archive/refs/tags/v1.0.0.zip",
2662+
"repository": "https://github.com/sakitA/spec-kit-workiq",
2663+
"homepage": "https://github.com/sakitA/spec-kit-workiq",
2664+
"documentation": "https://github.com/sakitA/spec-kit-workiq/blob/main/README.md",
2665+
"changelog": "https://github.com/sakitA/spec-kit-workiq/blob/main/CHANGELOG.md",
2666+
"license": "MIT",
2667+
"requires": {
2668+
"speckit_version": ">=0.1.0",
2669+
"tools": [
2670+
{
2671+
"name": "workiq",
2672+
"version": ">=1.0.0",
2673+
"required": true
2674+
},
2675+
{
2676+
"name": "node",
2677+
"version": ">=18.0.0",
2678+
"required": true
2679+
}
2680+
]
2681+
},
2682+
"provides": {
2683+
"commands": 4,
2684+
"hooks": 2
2685+
},
2686+
"tags": [
2687+
"microsoft-365",
2688+
"work-iq",
2689+
"context",
2690+
"integration",
2691+
"productivity"
2692+
],
2693+
"verified": false,
2694+
"downloads": 0,
2695+
"stars": 0,
2696+
"created_at": "2026-04-29T00:00:00Z",
2697+
"updated_at": "2026-04-29T00:00:00Z"
2698+
},
26162699
"worktree": {
26172700
"name": "Worktree Isolation",
26182701
"id": "worktree",

integrations/catalog.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": "1.0",
3-
"updated_at": "2026-04-08T00:00:00Z",
3+
"updated_at": "2026-04-28T00:00:00Z",
44
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/integrations/catalog.json",
55
"integrations": {
66
"claude": {
@@ -66,6 +66,15 @@
6666
"repository": "https://github.com/github/spec-kit",
6767
"tags": ["cli", "skills"]
6868
},
69+
"devin": {
70+
"id": "devin",
71+
"name": "Devin for Terminal",
72+
"version": "1.0.0",
73+
"description": "Devin for Terminal CLI skills-based integration",
74+
"author": "spec-kit-core",
75+
"repository": "https://github.com/github/spec-kit",
76+
"tags": ["cli", "skills"]
77+
},
6978
"qwen": {
7079
"id": "qwen",
7180
"name": "Qwen Code",

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "specify-cli"
3-
version = "0.8.3.dev0"
3+
version = "0.8.4.dev0"
44
description = "Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD)."
55
requires-python = ">=3.11"
66
dependencies = [

src/specify_cli/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1819,7 +1819,7 @@ def init(
18191819
step_num = 2
18201820

18211821
# Determine skill display mode for the next-steps panel.
1822-
# Skills integrations (codex, kimi, agy, trae, cursor-agent) should show skill invocation syntax.
1822+
# Skills integrations (codex, claude, kimi, agy, trae, cursor-agent, copilot, devin) should show skill invocation syntax.
18231823
from .integrations.base import SkillsIntegration as _SkillsInt
18241824

18251825
_is_skills_integration = isinstance(resolved_integration, _SkillsInt) or getattr(
@@ -1837,6 +1837,7 @@ def init(
18371837
ai_skills or _is_skills_integration
18381838
)
18391839
copilot_skill_mode = selected_ai == "copilot" and _is_skills_integration
1840+
devin_skill_mode = selected_ai == "devin"
18401841
native_skill_mode = (
18411842
codex_skill_mode
18421843
or claude_skill_mode
@@ -1845,6 +1846,7 @@ def init(
18451846
or trae_skill_mode
18461847
or cursor_agent_skill_mode
18471848
or copilot_skill_mode
1849+
or devin_skill_mode
18481850
)
18491851

18501852
if codex_skill_mode and not ai_skills:
@@ -1863,6 +1865,9 @@ def init(
18631865
f"{step_num}. Start Cursor Agent in this project directory; spec-kit skills were installed to [cyan].cursor/skills[/cyan]"
18641866
)
18651867
step_num += 1
1868+
if devin_skill_mode:
1869+
steps_lines.append(f"{step_num}. Start Devin in this project directory; spec-kit skills were installed to [cyan].devin/skills[/cyan]")
1870+
step_num += 1
18661871
usage_label = "skills" if native_skill_mode else "slash commands"
18671872

18681873
def _display_cmd(name: str) -> str:
@@ -1872,7 +1877,7 @@ def _display_cmd(name: str) -> str:
18721877
return f"/speckit-{name}"
18731878
if kimi_skill_mode:
18741879
return f"/skill:speckit-{name}"
1875-
if cursor_agent_skill_mode or copilot_skill_mode:
1880+
if cursor_agent_skill_mode or copilot_skill_mode or devin_skill_mode:
18761881
return f"/speckit-{name}"
18771882
return f"/speckit.{name}"
18781883

src/specify_cli/extensions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1108,7 +1108,7 @@ def check_compatibility(
11081108
raise CompatibilityError(
11091109
f"Extension requires spec-kit {required}, "
11101110
f"but {speckit_version} is installed.\n"
1111-
f"Upgrade spec-kit with: uv tool install specify-cli --force"
1111+
f"Upgrade spec-kit with: {REINSTALL_COMMAND}"
11121112
)
11131113
except InvalidSpecifier:
11141114
raise CompatibilityError(f"Invalid version specifier: {required}")

0 commit comments

Comments
 (0)