Skip to content

Conversation

@dhilipkumars
Copy link

@dhilipkumars dhilipkumars commented Feb 4, 2026

This change adds the --agent-skills switch to the init command, allowing users to automatically install agent skills from Prompt.MD templates. It also adds pyyaml as a dependency.

Note: Build this with the help of Google Antigravity tool but tested manually on sample projects.

Does this look interesting?

Test results. Help

specify init --help | grep ai  
     specify init my-project --ai claude                                                                                    
     specify init my-project --ai copilot --no-git                                                                          
     specify init . --ai claude         # Initialize in current directory                                                   
     specify init --here --ai claude    # Alternative syntax for current directory                                          
     specify init --here --ai codex                                                                                         
     specify init --here --ai codebuddy                                                                                     
│ --ai                        TEXT  AI assistant to use: claude, gemini, copilot, cursor-agent, qwen, opencode, codex,     │
│                                   windsurf, kilocode, auggie, codebuddy, amp, shai, q, bob, or qoder                     │
│ --debug                           Show verbose diagnostic output for network and extraction failures                     │
│ --ai-skills                       Install Prompt.MD templates as agent skills (requires --ai)    

Copilot AI review requested due to automatic review settings February 4, 2026 19:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for automatically installing agent skills during project initialization by introducing the --agent-skills flag to the init command. The feature converts Prompt.MD template files from templates/commands/ into properly formatted SKILL.md files following the agentskills.io specification.

Changes:

  • Added install_agent_skills() function to convert Prompt.MD templates into agent skills with enhanced descriptions
  • Added --agent-skills CLI flag to init command (requires --ai flag)
  • Added pyyaml dependency for YAML frontmatter parsing

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/specify_cli/init.py Implements agent skills installation logic and adds CLI flag validation
pyproject.toml Adds pyyaml dependency and bumps version to 0.0.23
README.md Documents the new --agent-skills flag with usage examples
CHANGELOG.md Documents the feature addition for version 0.0.23

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

installed_count += 1

except Exception as e:
console.print(f"[yellow]Warning: Failed to install skill {command_name}: {e}[/yellow]")
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

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

The error message references command_name which may not be defined if the exception occurs before line 1008. Consider using command_file.stem or wrapping in a try-except to ensure the variable is always available.

Suggested change
console.print(f"[yellow]Warning: Failed to install skill {command_name}: {e}[/yellow]")
skill_label = command_name if 'command_name' in locals() else command_file.stem
console.print(f"[yellow]Warning: Failed to install skill {skill_label}: {e}[/yellow]")

Copilot uses AI. Check for mistakes.
skill_content = f"""---
name: {skill_name}
description: {enhanced_desc}
compatibility: Requires git and spec-kit project structure with .specify/ directory
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

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

Inconsistent naming: the directory is referred to as .specify/ here but the actual skills are installed to .agent/ directory. This should be clarified or corrected to avoid confusion.

Suggested change
compatibility: Requires git and spec-kit project structure with .specify/ directory
compatibility: Requires git and spec-kit project structure with .agent/skills/ directory

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

@mnriem mnriem left a comment

Choose a reason for hiding this comment

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

Can you change it from --agent-skills to --ai-skills and address the feedback Copilot gave as well?

This change adds the --agent-skills switch to the init command, allowing users to automatically install agent skills from Prompt.MD templates. It also adds pyyaml as a dependency.
Copilot AI review requested due to automatic review settings February 12, 2026 00:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

skill_dir.mkdir(parents=True, exist_ok=True)

# Generate enhanced description
original_desc = frontmatter.get('description', '')
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

yaml.safe_load() can return None for empty frontmatter, which will make frontmatter.get(...) raise an AttributeError. Normalize the result to a dict (e.g., frontmatter = yaml.safe_load(...) or {}) and ideally validate it’s a mapping before calling .get.

Copilot uses AI. Check for mistakes.
Comment on lines 998 to 1012
if not templates_dir.exists():
if tracker:
tracker.error("ai-skills", "templates/commands not found")
else:
console.print("[yellow]Warning: templates/commands directory not found, skipping skills installation[/yellow]")
return False

# Get all markdown files
command_files = list(templates_dir.glob("*.md"))
if not command_files:
if tracker:
tracker.skip("ai-skills", "no command templates found")
else:
console.print("[yellow]No command templates found to install[/yellow]")
return False
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

In the early-return branches, tracker.error(...) / tracker.skip(...) are called without a preceding tracker.add(...). Other steps in this file appear to add before skip/error, and some tracker implementations require the step to exist before updating it. Consider calling tracker.add(\"ai-skills\", \"Install agent skills\") (or similar) before skip/error in these branches for consistent tracker behavior.

Copilot uses AI. Check for mistakes.
Comment on lines 124 to 142
## [0.0.22] - 2025-11-07
## [0.0.23] - 2026-02-03

### Added

- **Agent Skills Installation**: New `--ai-skills` CLI option to install Prompt.MD templates as agent skills following [agentskills.io specification](https://agentskills.io/specification)
- Skills are installed to `.agent/skills/<skill-name>/SKILL.md` directory structure
- Requires `--ai` flag to be specified
- Converts all 9 spec-kit command templates (specify, plan, tasks, implement, analyze, clarify, constitution, checklist, taskstoissues) to properly formatted SKILL.md files
- Each skill includes enhanced descriptions, compatibility information, and usage guidance
- Integrated into the initialize workflow with progress tracking

### Changed

- Updated `pyyaml` dependency for YAML frontmatter parsing
- Enhanced CLI help text and documentation with agent skills examples


- Support for VS Code/Copilot agents, and moving away from prompts to proper agents with hand-offs.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The changelog section ordering/structure looks broken: 0.0.23 is placed after 0.0.22 (but is a newer version), and the bullets starting at line 142 appear to belong to a different release section yet are now under 0.0.23 (no heading separating them). Reorder sections so newest versions come first and ensure each bullet list is under the correct ## [version] header.

Copilot uses AI. Check for mistakes.
fix review comments

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 12, 2026 00:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 1073 to 1082
skill_content = f"""---
name: {skill_name}
description: {enhanced_desc}
compatibility: Requires git and spec-kit project structure with .agent/skills/ directory
---

# Speckit {command_name.title()} Skill

{body}
"""
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The SKILL.md YAML frontmatter is built via string interpolation without quoting/escaping. If enhanced_desc (or any future field) contains characters like : / # / newlines, the YAML can become invalid. Prefer generating the frontmatter via yaml.safe_dump() (with appropriate options) and then appending the markdown body, or explicitly quote/block-scalar the description.

Suggested change
skill_content = f"""---
name: {skill_name}
description: {enhanced_desc}
compatibility: Requires git and spec-kit project structure with .agent/skills/ directory
---
# Speckit {command_name.title()} Skill
{body}
"""
front_matter = {
"name": skill_name,
"description": enhanced_desc,
"compatibility": "Requires git and spec-kit project structure with .agent/skills/ directory",
}
yaml_front_matter = yaml.safe_dump(
front_matter,
sort_keys=False,
allow_unicode=True,
)
skill_content = (
f"---\n"
f"{yaml_front_matter}"
f"---\n\n"
f"# Speckit {command_name.title()} Skill\n\n"
f"{body}\n"
)

Copilot uses AI. Check for mistakes.
Comment on lines 124 to +127
## [0.0.22] - 2025-11-07
## [0.0.23] - 2026-02-03

### Added
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The changelog entry order/structure looks incorrect: 0.0.23 appears immediately after 0.0.22 (newer versions are typically listed above older ones), and there’s no separating content indicating where the 0.0.22 section begins/ends. Reorder so 0.0.23 is above 0.0.22 and ensure each version’s bullets are contained under the correct header.

Copilot uses AI. Check for mistakes.
Comment on lines +140 to 143


- Support for VS Code/Copilot agents, and moving away from prompts to proper agents with hand-offs.
- Move to use `AGENTS.md` for Copilot workloads, since it's already supported out-of-the-box.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

These bullets are no longer under any version heading, which makes the changelog ambiguous. They should be moved under the appropriate ## [x.y.z] section (or removed if obsolete).

Copilot uses AI. Check for mistakes.
fix review comments

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 12, 2026 00:57
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1006 to +1011
if not command_files:
if tracker:
tracker.skip("ai-skills", "no command templates found")
else:
console.print("[yellow]No command templates found to install[/yellow]")
return False
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

Same tracker lifecycle issue as above: tracker.skip("ai-skills", ...) is executed without a prior tracker.add("ai-skills", ...). To avoid inconsistent progress output or potential tracker errors, add/register the step before skipping.

Copilot uses AI. Check for mistakes.
if len(parts) >= 3:
raw_frontmatter = yaml.safe_load(parts[1])
frontmatter = raw_frontmatter if isinstance(raw_frontmatter, dict) else {}
body = parts[2].strip()
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

Using .strip() will remove trailing whitespace and also leading newlines/whitespace from the Markdown body, which can unintentionally change formatting (e.g., leading blank lines, indentation-sensitive constructs). Prefer preserving the body verbatim (or only removing a single leading newline via something like lstrip("\n")) so the generated SKILL.md content matches the source template more reliably.

Suggested change
body = parts[2].strip()
body = parts[2].lstrip("\n")

Copilot uses AI. Check for mistakes.
Comment on lines 1074 to 1079
skill_content = f"""---
name: {skill_name}
description: {enhanced_desc}
compatibility: Requires git and spec-kit project structure with .agent/skills/ directory
---

Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The YAML frontmatter is built via string interpolation without escaping. If enhanced_desc (or skill_name) contains characters significant to YAML (e.g., :, #, leading/trailing spaces, newlines, quotes), the generated SKILL.md can become invalid YAML. Generate frontmatter via yaml.safe_dump(...) (or otherwise quote/escape values) to ensure valid YAML output for arbitrary template descriptions.

Suggested change
skill_content = f"""---
name: {skill_name}
description: {enhanced_desc}
compatibility: Requires git and spec-kit project structure with .agent/skills/ directory
---
frontmatter = {
"name": skill_name,
"description": enhanced_desc,
"compatibility": "Requires git and spec-kit project structure with .agent/skills/ directory",
}
frontmatter_yaml = yaml.safe_dump(frontmatter, sort_keys=False).strip()
skill_content = f"""---\n{frontmatter_yaml}\n---\n

Copilot uses AI. Check for mistakes.
Comment on lines +1051 to +1071
original_desc = frontmatter.get('description', '')
if command_name == 'specify':
enhanced_desc = "Create or update feature specifications from natural language descriptions. Use when starting new features or refining requirements. Generates spec.md with user stories, functional requirements, and acceptance criteria following spec-driven development methodology."
elif command_name == 'plan':
enhanced_desc = "Generate technical implementation plans from feature specifications. Use after creating a spec to define architecture, tech stack, and implementation phases. Creates plan.md with detailed technical design."
elif command_name == 'tasks':
enhanced_desc = "Break down implementation plans into actionable task lists. Use after planning to create a structured task breakdown. Generates tasks.md with ordered, dependency-aware tasks."
elif command_name == 'implement':
enhanced_desc = "Execute all tasks from the task breakdown to build the feature. Use after task generation to systematically implement the planned solution following TDD approach where applicable."
elif command_name == 'analyze':
enhanced_desc = "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation."
elif command_name == 'clarify':
enhanced_desc = "Structured clarification workflow for underspecified requirements. Use before planning to resolve ambiguities through coverage-based questioning. Records answers in spec clarifications section."
elif command_name == 'constitution':
enhanced_desc = "Create or update project governing principles and development guidelines. Use at project start to establish code quality, testing standards, and architectural constraints that guide all development."
elif command_name == 'checklist':
enhanced_desc = "Generate custom quality checklists for validating requirements completeness and clarity. Use to create unit tests for English that ensure spec quality before implementation."
elif command_name == 'taskstoissues':
enhanced_desc = "Convert tasks from tasks.md into GitHub issues. Use after task breakdown to track work items in GitHub project management."
else:
enhanced_desc = original_desc or f"Spec-kit workflow command: {command_name}"
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The long if/elif chain for descriptions is hard to maintain and easy to drift as commands change. Consider replacing it with a single mapping/dict (e.g., DESCRIPTIONS = {...}) and enhanced_desc = DESCRIPTIONS.get(command_name, original_desc or ...) to make additions/edits simpler and reduce branching noise.

Copilot uses AI. Check for mistakes.
Comment on lines 124 to 143
## [0.0.22] - 2025-11-07
## [0.0.23] - 2026-02-03

### Added

- **Agent Skills Installation**: New `--ai-skills` CLI option to install Prompt.MD templates as agent skills following [agentskills.io specification](https://agentskills.io/specification)
- Skills are installed to `.agent/skills/<skill-name>/SKILL.md` directory structure
- Requires `--ai` flag to be specified
- Converts all 9 spec-kit command templates (specify, plan, tasks, implement, analyze, clarify, constitution, checklist, taskstoissues) to properly formatted SKILL.md files
- Each skill includes enhanced descriptions, compatibility information, and usage guidance
- Integrated into the initialize workflow with progress tracking

### Changed

- Updated `pyyaml` dependency for YAML frontmatter parsing
- Enhanced CLI help text and documentation with agent skills examples


- Support for VS Code/Copilot agents, and moving away from prompts to proper agents with hand-offs.
- Move to use `AGENTS.md` for Copilot workloads, since it's already supported out-of-the-box.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The changelog entry ordering/structure looks broken: 0.0.23 appears after 0.0.22, and the bullets at lines 142–143 are not under any ### Added/Changed/... heading (and appear to belong to a different release section). Reorder releases so newest is first (typically 0.0.23 above 0.0.22) and ensure all bullet points are grouped under the correct version and subsection headings.

Copilot uses AI. Check for mistakes.
add review comments from co pilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 12, 2026 00:59
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +997 to +1011
if not templates_dir.exists():
if tracker:
tracker.error("ai-skills", "project .specify/templates/commands not found")
else:
console.print("[yellow]Warning: project .specify/templates/commands directory not found, skipping skills installation[/yellow]")
return False

# Get all markdown files
command_files = list(templates_dir.glob("*.md"))
if not command_files:
if tracker:
tracker.skip("ai-skills", "no command templates found")
else:
console.print("[yellow]No command templates found to install[/yellow]")
return False
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

tracker.error(...)/tracker.skip(...)are called without a precedingtracker.add("ai-skills", ...)for those early-return branches. In other parts of this module (e.g.,ensure_constitution_from_template) the step is always added before it’s updated; if StepTrackerexpects that pattern, these paths may fail or produce inconsistent output. Addtracker.add("ai-skills", "...")before callingskip/errorin these branches (and consider whether “missing templates dir” should beskipvserrorwhen the user explicitly requested--ai-skills`).

Copilot uses AI. Check for mistakes.
Comment on lines +1052 to +1071
if command_name == 'specify':
enhanced_desc = "Create or update feature specifications from natural language descriptions. Use when starting new features or refining requirements. Generates spec.md with user stories, functional requirements, and acceptance criteria following spec-driven development methodology."
elif command_name == 'plan':
enhanced_desc = "Generate technical implementation plans from feature specifications. Use after creating a spec to define architecture, tech stack, and implementation phases. Creates plan.md with detailed technical design."
elif command_name == 'tasks':
enhanced_desc = "Break down implementation plans into actionable task lists. Use after planning to create a structured task breakdown. Generates tasks.md with ordered, dependency-aware tasks."
elif command_name == 'implement':
enhanced_desc = "Execute all tasks from the task breakdown to build the feature. Use after task generation to systematically implement the planned solution following TDD approach where applicable."
elif command_name == 'analyze':
enhanced_desc = "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation."
elif command_name == 'clarify':
enhanced_desc = "Structured clarification workflow for underspecified requirements. Use before planning to resolve ambiguities through coverage-based questioning. Records answers in spec clarifications section."
elif command_name == 'constitution':
enhanced_desc = "Create or update project governing principles and development guidelines. Use at project start to establish code quality, testing standards, and architectural constraints that guide all development."
elif command_name == 'checklist':
enhanced_desc = "Generate custom quality checklists for validating requirements completeness and clarity. Use to create unit tests for English that ensure spec quality before implementation."
elif command_name == 'taskstoissues':
enhanced_desc = "Convert tasks from tasks.md into GitHub issues. Use after task breakdown to track work items in GitHub project management."
else:
enhanced_desc = original_desc or f"Spec-kit workflow command: {command_name}"
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The long if/elif chain of hardcoded descriptions will be painful to extend and review over time. Consider replacing it with a dict mapping {command_name: description} (and falling back to original_desc), which reduces branching and makes future edits safer/clearer.

Suggested change
if command_name == 'specify':
enhanced_desc = "Create or update feature specifications from natural language descriptions. Use when starting new features or refining requirements. Generates spec.md with user stories, functional requirements, and acceptance criteria following spec-driven development methodology."
elif command_name == 'plan':
enhanced_desc = "Generate technical implementation plans from feature specifications. Use after creating a spec to define architecture, tech stack, and implementation phases. Creates plan.md with detailed technical design."
elif command_name == 'tasks':
enhanced_desc = "Break down implementation plans into actionable task lists. Use after planning to create a structured task breakdown. Generates tasks.md with ordered, dependency-aware tasks."
elif command_name == 'implement':
enhanced_desc = "Execute all tasks from the task breakdown to build the feature. Use after task generation to systematically implement the planned solution following TDD approach where applicable."
elif command_name == 'analyze':
enhanced_desc = "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation."
elif command_name == 'clarify':
enhanced_desc = "Structured clarification workflow for underspecified requirements. Use before planning to resolve ambiguities through coverage-based questioning. Records answers in spec clarifications section."
elif command_name == 'constitution':
enhanced_desc = "Create or update project governing principles and development guidelines. Use at project start to establish code quality, testing standards, and architectural constraints that guide all development."
elif command_name == 'checklist':
enhanced_desc = "Generate custom quality checklists for validating requirements completeness and clarity. Use to create unit tests for English that ensure spec quality before implementation."
elif command_name == 'taskstoissues':
enhanced_desc = "Convert tasks from tasks.md into GitHub issues. Use after task breakdown to track work items in GitHub project management."
else:
enhanced_desc = original_desc or f"Spec-kit workflow command: {command_name}"
description_overrides = {
'specify': "Create or update feature specifications from natural language descriptions. Use when starting new features or refining requirements. Generates spec.md with user stories, functional requirements, and acceptance criteria following spec-driven development methodology.",
'plan': "Generate technical implementation plans from feature specifications. Use after creating a spec to define architecture, tech stack, and implementation phases. Creates plan.md with detailed technical design.",
'tasks': "Break down implementation plans into actionable task lists. Use after planning to create a structured task breakdown. Generates tasks.md with ordered, dependency-aware tasks.",
'implement': "Execute all tasks from the task breakdown to build the feature. Use after task generation to systematically implement the planned solution following TDD approach where applicable.",
'analyze': "Perform cross-artifact consistency analysis across spec.md, plan.md, and tasks.md. Use after task generation to identify gaps, duplications, and inconsistencies before implementation.",
'clarify': "Structured clarification workflow for underspecified requirements. Use before planning to resolve ambiguities through coverage-based questioning. Records answers in spec clarifications section.",
'constitution': "Create or update project governing principles and development guidelines. Use at project start to establish code quality, testing standards, and architectural constraints that guide all development.",
'checklist': "Generate custom quality checklists for validating requirements completeness and clarity. Use to create unit tests for English that ensure spec quality before implementation.",
'taskstoissues': "Convert tasks from tasks.md into GitHub issues. Use after task breakdown to track work items in GitHub project management.",
}
enhanced_desc = description_overrides.get(
command_name,
original_desc or f"Spec-kit workflow command: {command_name}",
)

Copilot uses AI. Check for mistakes.
{frontmatter_yaml}
---

# Speckit {command_name.title()} Skill
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

“Speckit” appears inconsistent with the rest of the terminology in this PR (“spec-kit”, “specify”, etc.), and command_name.title() renders taskstoissues as Taskstoissues. Consider standardizing the branding (e.g., “Spec-Kit”) and using a friendly display name mapping for command titles.

Copilot uses AI. Check for mistakes.
Comment on lines 124 to 143
## [0.0.22] - 2025-11-07
## [0.0.23] - 2026-02-03

### Added

- **Agent Skills Installation**: New `--ai-skills` CLI option to install Prompt.MD templates as agent skills following [agentskills.io specification](https://agentskills.io/specification)
- Skills are installed to `.agent/skills/<skill-name>/SKILL.md` directory structure
- Requires `--ai` flag to be specified
- Converts all 9 spec-kit command templates (specify, plan, tasks, implement, analyze, clarify, constitution, checklist, taskstoissues) to properly formatted SKILL.md files
- Each skill includes enhanced descriptions, compatibility information, and usage guidance
- Integrated into the initialize workflow with progress tracking

### Changed

- Updated `pyyaml` dependency for YAML frontmatter parsing
- Enhanced CLI help text and documentation with agent skills examples


- Support for VS Code/Copilot agents, and moving away from prompts to proper agents with hand-offs.
- Move to use `AGENTS.md` for Copilot workloads, since it's already supported out-of-the-box.
Copy link

Copilot AI Feb 12, 2026

Choose a reason for hiding this comment

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

The 0.0.23 entry is placed after 0.0.22, and the bullets at lines 142–143 look like they’re now orphaned (they appear under 0.0.23 with no heading). Also, this PR description mentions “adds pyyaml as a dependency”, but the changelog says “Updated pyyaml dependency”. Reorder entries so versions are in the intended order, ensure the bullets are under the correct release heading, and align the dependency wording (“Added PyYAML dependency” vs “Updated”).

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants