[Bug]: Init seems to be creating config in its own sub-directory #4355
Copy link
Copy link
Open
Labels
bug-assessinvalidThis doesn't seem rightThis doesn't seem righttriage-out-of-scopeVerdict: won't land in core — invalid, duplicate, off-mission, or redirected to an extensionVerdict: won't land in core — invalid, duplicate, off-mission, or redirected to an extension
Description
Bug Description
Actually I'm not sure I should call this a bug, but it seems like this config info should not be in its own sub-directory?
If that's the expected behavior, I'm good with that.
First time logging a bug, so not sure what I'm doing :-)
Steps to Reproduce
specify init azure-platform-bicep-avm --integration copilot
Expected Behavior
I'm expecting the config to be at the same level as the code.
Actual Behavior
The config was created in a sub-directory
Specify CLI Version
1.01
AI Agent
GitHub Copilot
Operating System
Windows 11 and
Python Version
Python 3.14.4
Error Logs
Additional Context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bug-assessinvalidThis doesn't seem rightThis doesn't seem righttriage-out-of-scopeVerdict: won't land in core — invalid, duplicate, off-mission, or redirected to an extensionVerdict: won't land in core — invalid, duplicate, off-mission, or redirected to an extension
Activity
github-actions commentedon Aug 31, 2026
Bug assessment — copilot-skills-subdirectory: Invalid · severity low
Bug Assessment: Init Creates Config in Subdirectory (Copilot Skills)
Report (summarized)
Reporter (@philguth) ran
specify init azure-platform-bicep-avm --integration copiloton Windows 11 with Python 3.14.4 and Specify CLI 1.01. They observed that the config was created inside a subdirectory rather than at the same level as the code. No error logs were provided; the reporter acknowledged this may be expected behavior.Symptom
Running
specify init <project> --integration copilotcreates files underspeckit-<name>/SKILL.mdsubdirectories inside.github/skills/, rather than placing flat files at the top of the folder. The reporter expected config at the same directory level as the code.Reproduction
specify init azure-platform-bicep-avm --integration copilot.github/skills/speckit-<name>/SKILL.mdSuspected Code Paths
src/specify_cli/integrations/copilot/__init__.py— The_CopilotSkillsHelperclass (line ~94–114) setsregistrar_config["extension"] = "/SKILL.md", which is the convention for skills-mode scaffolding: each command becomes aspeckit-<name>/SKILL.mdsubdirectory under.github/skills/.speckit-<name>/SKILL.mddirectories under.github/skills/".Root Cause Hypothesis
There is no defect. The Copilot integration is intentionally designed to scaffold each Spec Kit command as its own named subdirectory (
speckit-<name>/) containing aSKILL.mdfile. This is the GitHub Copilot skills layout requirement — Copilot's skill discovery relies on a directory-per-skill structure. The behavior is working as designed. Confidence: high.Proposed Remediation
No code change needed. This is expected behavior per the GitHub Copilot skills format.
If the reporter prefers flat
.agent.mdfiles (the alternative commands layout), they can opt into it with:This installs
.agent.mdcommands under.github/agents/alongside companion.prompt.mdfiles in.github/prompts/, without subdirectories.Documentation improvement (optional, low priority): The
specify inithelp text or README could be clearer that the Copilot skills layout uses per-skill subdirectories by design, and mention the--commandsalternative for users who want flat files.Files likely to change (if adding docs clarification only):
README.mdor relevant docs page explaining the two Copilot layoutsTests to add or update: None required.
Risks & Considerations
Open Questions
1.0.1or another version. This doesn't affect the assessment.]Posted on behalf of
@mnriemby GitHub Copilot (model: claude-sonnet-4.6, autonomous)