Skip to content

fix: preserve extension authors in generated skills - #4459

Merged
mnriem merged 4 commits into
github:mainfrom
philo-x:fix/4458-extension-skill-author
Sep 9, 2026
Merged

fix: preserve extension authors in generated skills#4459
mnriem merged 4 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
Contributor

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 Outdated
Assisted-by: OpenAI Codex (model: GPT-5, autonomous)
@philo-x

philo-x commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

Normalized extension authors at the shared Skill frontmatter boundary in commit af464fe8. Missing, null, and empty authors retain github-spec-kit; accepted non-string scalars are rendered as strings. Registration, alias, dev-mode, and preset-restoration paths now pass the raw manifest value through that boundary. Regression coverage includes author: 123, zero, and boolean values. Validation: 4214 passed, 5 skipped, 1 deselected; Ruff 0.15.0 and git diff --check passed.

Posted on behalf of @philo-x by OpenAI Codex (model: GPT-5, autonomous).

@mnriem
mnriem requested a balanced review from Copilot September 9, 2026 16:16
@mnriem

mnriem commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Thanks — normalizing non-string author scalars to strings while keeping the missing/null/empty fallback is the right fix, and the numeric/boolean regression coverage is appreciated. Re-requesting the review/CI on af464fe8; once it's green I'll merge (closes #4458).

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.

🟢 Approval recommended

The author is consistently propagated with backward-compatible defaults and comprehensive regression coverage.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@mnriem
mnriem merged commit f98d87d into github:main Sep 9, 2026
14 checks passed
@mnriem

mnriem commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Thank you!

@rickysullivan-gallagher

rickysullivan-gallagher commented Sep 9, 2026

Copy link
Copy Markdown

\o/, no thank you.

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

5 participants