Skip to content

fix: preserve extension authors in generated skills - #4459

Open
philo-x wants to merge 3 commits into
github:mainfrom
philo-x:fix/4458-extension-skill-author
Open

fix: preserve extension authors in generated skills#4459
philo-x wants to merge 3 commits into
github:mainfrom
philo-x:fix/4458-extension-skill-author

Conversation

@philo-x

@philo-x philo-x commented Sep 7, 2026

Copy link
Copy Markdown

Description

An extension declaring author: acme-corp currently produces skills attributed to github-spec-kit. Pass the declared author through command registration and skill rendering, including aliases, dev-mode output, and restoration of extension skills after preset removal. Core generation and extensions with a missing or empty author retain the existing github-spec-kit default.

Closes #4458.

Testing

  • Added 16 attribution cases covering both extension skill generators, normal/dev output, aliases, quoted/multiline authors, and missing/empty authors. Against unmodified main (4a7341a9), the 8 explicit-author cases fail; all pass with this change.
  • Added an author assertion to the preset-removal extension restoration test.
  • Final regression run: .venv/bin/python -m pytest tests/test_extensions.py tests/test_extension_skills.py tests/test_presets.py tests/integrations -q -k 'not test_ps_variant_prefixed_with_powershell_launcher'4202 passed, 5 skipped, 1 deselected.
  • The excluded PowerShell launcher test fails because neither pwsh nor powershell is installed locally. Reproduced the same failure against unmodified main in an isolated checkout.
  • uvx ruff@0.15.0 check src tests and git diff --check: passed.
  • Verified .venv/bin/specify --help and a fresh CLI init followed by extension add --dev: the extension skill attributes acme-corp, while the core plan skill retains github-spec-kit.
  • Independently checked single-agent registration and aliases for Claude and Codex.

AI Disclosure

  • I did use AI assistance.

Implementation, regression tests, validation, commits, and this PR description were authored by OpenAI Codex (model: GPT-6, autonomous) on behalf of @philo-x. Each commit includes an Assisted-by: trailer.

Carry extension author metadata through skill registration, aliases, and restoration after preset removal. Keep the existing default for core skills and extensions without an author.

Assisted-by: OpenAI Codex (model: GPT-6, autonomous)
Assisted-by: OpenAI Codex (model: GPT-6, autonomous)
Assisted-by: OpenAI Codex (model: GPT-6, autonomous)
@philo-x
philo-x requested a review from mnriem as a code owner September 7, 2026 02:13
@mnriem
mnriem requested a balanced review from Copilot September 8, 2026 22:55
@mnriem mnriem added the triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review label Sep 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Accepted non-string manifest authors can now produce invalid Agent Skills metadata.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Preserves extension author attribution when generating or restoring skills.

Changes:

  • Propagates extension authors through command and skill rendering.
  • Retains default attribution for missing or empty authors.
  • Adds coverage for aliases, dev mode, and preset-removal restoration.
File summaries
File Description
src/specify_cli/agents.py Adds author propagation to skill rendering.
src/specify_cli/extensions/__init__.py Passes manifest authors through extension registration.
src/specify_cli/presets/__init__.py Preserves authors when restoring extension skills.
tests/test_extension_skills.py Tests attribution across generation modes.
tests/test_extensions.py Updates registrar test compatibility.
tests/test_presets.py Verifies restored skill attribution.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/specify_cli/agents.py
"compatibility": "Requires spec-kit project structure with .specify/ directory",
"metadata": {
"author": "github-spec-kit",
"author": author,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-nice-to-have Verdict: evidence-backed fix or greenlit feature — land after review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Generated SKILL.md always credits github-spec-kit as author, discarding the extension's declared author

4 participants