Skip to content

feat: add skill template system with creator wizard#34

Open
krljakob wants to merge 2 commits intomainfrom
feat-skill-template-system
Open

feat: add skill template system with creator wizard#34
krljakob wants to merge 2 commits intomainfrom
feat-skill-template-system

Conversation

@krljakob
Copy link
Collaborator

@krljakob krljakob commented Jan 23, 2026

Summary

Details

The skill template system mirrors the existing agent template infrastructure:

Feature Agent Template Skill Template
Template file SUBAGENT_TEMPLATE.md SKILL_TEMPLATE.md
Wizard agent agent-template-wizard.md skill-creator-wizard.md
Output location .claude/agents/ .claude/skills/
Placeholders 47 ~35

Skill Creation Workflow

The skill-creator-wizard follows a 6-step process:

  1. Understanding - Gather concrete usage examples
  2. Planning - Identify reusable resources (scripts, references, assets)
  3. Initializing - Create directory structure
  4. Editing - Fill template with procedural knowledge
  5. Validation - Verify all placeholders replaced
  6. Iteration - Refine based on feedback

Test plan

  • Run bun run validate - passed (70 commands, all valid)
  • Run bun run validate:plugin - passed (12 successes, 0 errors)
  • Verify skill-creator-wizard agent registered in plugin.json
  • Test creating a sample skill using the wizard

Summary by Sourcery

Introduce a reusable skill template system and a dedicated wizard agent to streamline creation and management of project-specific skills.

New Features:

  • Add a SKILL_TEMPLATE.md template defining the standard structure and metadata for new skills with progressive disclosure design.
  • Introduce the skill-creator-wizard agent to guide users through creating fully compliant skills from the template, including directory structure and resources.
  • Add a .claude/skills directory with documentation describing how skills are structured, created, and loaded in context.

Enhancements:

  • Update plugin configuration to register the skill-creator-wizard agent and support skills/templates metadata entries.

Add comprehensive skill creation infrastructure mirroring the existing
agent template system. Includes SKILL_TEMPLATE.md with progressive
disclosure design, skill-creator-wizard agent with 6-step creation
process, and skills directory structure.

- Add templates/SKILL_TEMPLATE.md with ~35 placeholders
- Add .claude/agents/skill-creator-wizard.md (agent #11)
- Add .claude/skills/ directory with README
- Update plugin.json v0.3.0 with skills and templates arrays
@krljakob krljakob requested a review from ursisterbtw as a code owner January 23, 2026 08:08
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Jan 23, 2026

Reviewer's Guide

Implements a new skill template system parallel to the existing agent template infrastructure by adding a SKILL_TEMPLATE.md, a skill-creator-wizard agent to generate skills from the template, a skills directory README, and extending plugin.json to register skills and templates.

Sequence diagram for the new skill creation workflow using skill-creator-wizard

sequenceDiagram
    actor User
    participant SkillCreatorWizard
    participant TemplateFile_SKILL_TEMPLATE_md
    participant FileSystem
    participant SkillsDirectory

    User->>SkillCreatorWizard: Request new skill (describe use case)
    SkillCreatorWizard->>User: Ask clarifying questions (use cases, triggers, resources)
    User-->>SkillCreatorWizard: Provide examples and requirements

    SkillCreatorWizard->>SkillCreatorWizard: Analyze requirements and plan scripts/references/assets
    SkillCreatorWizard->>User: Present proposed skill structure
    User-->>SkillCreatorWizard: Confirm or refine plan

    SkillCreatorWizard->>SkillsDirectory: Determine target path .claude/skills/skill-name/
    SkillCreatorWizard->>FileSystem: Create skill directory and subfolders
    FileSystem-->>SkillCreatorWizard: Directories created

    SkillCreatorWizard->>TemplateFile_SKILL_TEMPLATE_md: Load template content
    SkillCreatorWizard->>SkillCreatorWizard: Replace all placeholders with skill-specific data
    SkillCreatorWizard->>FileSystem: Write SKILL_md to skill directory
    SkillCreatorWizard->>FileSystem: Create bundled resources (scripts, references, assets) if needed

    SkillCreatorWizard->>SkillCreatorWizard: Run validation checklist
    SkillCreatorWizard->>FileSystem: Adjust files if validation issues found

    SkillCreatorWizard-->>User: Return skill location, directory tree, SKILL_md content, resources, validation status, and usage instructions
Loading

Class diagram for the conceptual skill template and wizard model

classDiagram
    class PluginConfig {
      +string version
      +AgentConfig[] agents
      +TemplateConfig[] templates
      +SkillConfig[] skills
    }

    class AgentConfig {
      +string name
      +string description
      +string[] tools
      +string model
      +string color
    }

    class TemplateConfig {
      +string path
      +string type
    }

    class SkillConfig {
      +string name
      +string path
    }

    class SkillCreatorWizard {
      +string name
      +string description
      +string[] tools
      +string model
      +createSkill(skillName, primaryUseCase, specificCapabilities, examples)
      +planResources(skillName, requirements)
      +initializeSkillDirectory(basePath, skillName)
      +fillTemplate(templateContent, skillData)
      +validateSkill(skillPath)
    }

    class SkillTemplate {
      +string path
      +string[] placeholders
      +load()
      +render(skillData)
    }

    class SkillPackage {
      +string name
      +string directoryPath
      +string skillFilePath
      +string[] scripts
      +string[] references
      +string[] assets
    }

    PluginConfig --> AgentConfig : contains
    PluginConfig --> TemplateConfig : contains
    PluginConfig --> SkillConfig : contains

    SkillCreatorWizard --> SkillTemplate : uses
    SkillCreatorWizard --> SkillPackage : produces

    SkillTemplate <.. TemplateConfig : described_by
    SkillPackage <.. SkillConfig : described_by
Loading

File-Level Changes

Change Details Files
Introduce reusable SKILL_TEMPLATE.md with progressive-disclosure structure for defining skills and their resources.
  • Add frontmatter fields and usage examples for describing when a skill should be used, its capabilities, and license.
  • Define standardized sections for features, workflows, integration, troubleshooting, and best practices using placeholder tokens.
  • Specify conventions for bundled scripts, references, and assets, including tabular descriptions for each resource type.
templates/SKILL_TEMPLATE.md
Add skill-creator-wizard agent that guides end-to-end creation of skills from the SKILL_TEMPLATE.md.
  • Define agent metadata, description examples, tools, model, and color for the skill-creator-wizard.
  • Encode a 6-step process (understanding, planning, initializing, editing, validation, iteration) with detailed checklists and naming conventions for skills.
  • Specify output format expectations for created skills, including directory structure, SKILL.md content, bundled resources, and validation checklist.
.claude/agents/skill-creator-wizard.md
Establish skills directory documentation aligning skill structure and lifecycle with the new template and wizard.
  • Document what skills are, their purpose, and how they extend Claude via workflows, integrations, and domain knowledge.
  • Define canonical skill directory layout and how SKILL.md, scripts, references, and assets are organized.
  • Explain progressive disclosure tiers for skills and instruct users to use the skill-creator-wizard for creating new skills, referencing SKILL_TEMPLATE.md as the canonical template.
.claude/skills/README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The description fields in both SKILL_TEMPLATE.md and skill-creator-wizard.md frontmatter embed HTML-like tags and long unwrapped text without quoting, which risks breaking YAML parsing in some tools—consider wrapping these descriptions in quotes or using multiline (|) scalars.
  • The placeholder replacement checklist in skill-creator-wizard.md only covers a subset of the placeholders present in SKILL_TEMPLATE.md (e.g., troubleshooting, resources, related skills), so it would help maintain correctness to update the checklist to explicitly account for all placeholder groups used in the template.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `description` fields in both `SKILL_TEMPLATE.md` and `skill-creator-wizard.md` frontmatter embed HTML-like tags and long unwrapped text without quoting, which risks breaking YAML parsing in some tools—consider wrapping these descriptions in quotes or using multiline (`|`) scalars.
- The placeholder replacement checklist in `skill-creator-wizard.md` only covers a subset of the placeholders present in `SKILL_TEMPLATE.md` (e.g., troubleshooting, resources, related skills), so it would help maintain correctness to update the checklist to explicitly account for all placeholder groups used in the template.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 23, 2026

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Skill creation wizard to guide building custom skills with structured steps and validations
    • Skill templates framework enabling modular skill development and placeholder-driven templates
    • Progressive context management for efficient skill loading and organization
  • Documentation

    • Added comprehensive Skills Directory docs with workflow, directory layout, and best practices
  • Chores

    • Plugin metadata updated (version and public template/skill listings)

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

Adds a skills framework: plugin metadata updated (version, templates, skills list), a new Skill Creator Wizard agent, a SKILL_TEMPLATE and skills README, plus widespread renumbering of headings across many .claude/commands/* docs. No runtime code changes.

Changes

Cohort / File(s) Summary
Plugin config
.claude-plugin/plugin.json
Bumped version 0.2.0 → 0.3.0; description expanded; added skills ([]) and templates (two template paths); appended ./.claude/agents/skill-creator-wizard.md to agents.
New agent guide
.claude/agents/skill-creator-wizard.md
New Markdown describing a 6-step Skill Creator Wizard, directory rules, naming conventions, placeholder checklist, output format, and progressive disclosure strategy.
Skills docs
.claude/skills/README.md
New README describing skill package layout, wizard workflow, progressive context tiers, and links to templates.
Templates
templates/SKILL_TEMPLATE.md, templates/SUBAGENT_TEMPLATE.md
Added SKILL_TEMPLATE.md (structured SKILL.md skeleton with frontmatter, workflow, examples, troubleshooting, resources); templates list added to plugin.json.
Renumbering (docs)
.claude/commands/... (many files, e.g., 09-agentic-capabilities/*, 10-ai-native-development/*, 11-enterprise-scale/*)
Consistent cosmetic renumbering of enumerated headings across numerous .claude/commands docs (reset local phase item numbering). No semantic/content changes except occasional minor bullet additions.
Minor docs
CLAUDE.md
Small formatting/spacing tweaks.

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant Wizard as "Skill Creator Wizard"
  participant FS as "Filesystem (repo)"
  participant Template as "Templates (SKILL_TEMPLATE.md)"
  User->>Wizard: Start skill creation (prompt/config)
  Wizard->>Template: Load template placeholders
  Wizard->>FS: Create skill directory + SKILL.md, assets, scripts
  Wizard->>User: Present generated files and placeholder checklist
  User->>Wizard: Edit/validate content
  Wizard->>FS: Update files / finalize skill package
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • ursisterbtw
  • sourcery-ai

Poem

🐇 I hop and patch a template song,
Files arranged where skills belong,
A wizard guides each crafted part,
Placeholders fill, the tree takes heart,
New skills sprout bright — let's code along!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add skill template system with creator wizard' directly and clearly describes the main change in the changeset—introducing a skill template system with a wizard agent for skill creation.
Description check ✅ Passed The PR description covers the main changes (template files, wizard agent, directory structure, plugin.json updates), includes a comparison table, documents the 6-step workflow, and provides test results. However, the Type of Change checklist is not marked and some optional quality checklist items are incomplete.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat-skill-template-system

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🤖 Fix all issues with AI agents
In @.claude/agents/skill-creator-wizard.md:
- Around line 46-52: The fenced code block showing the directory tree beginning
with "skill-name/" is missing a language specifier; update the opening fence
(the ``` before the tree) to include a language tag such as "text" so it reads
```text, ensuring the block renders correctly and preserves spacing/characters;
change only the opening fence for the block containing the "skill-name/"
directory tree.
- Line 3: The frontmatter "description" field in
.claude/agents/skill-creator-wizard.md exceeds the 120-character line-length
guideline; either shorten or wrap the description to keep lines ≤120 characters
(edit the "description" frontmatter key) or explicitly document and mark this as
an accepted exception for agent frontmatter (add a brief explanatory comment or
note near the "description" key referencing SKILL_TEMPLATE.md and the
intentional longer trigger-matching behavior) so linters and reviewers know the
long-line is allowed.

In @.claude/skills/README.md:
- Around line 30-32: The example code block containing the text "Create a skill
for [your use case]" is missing a language specifier; update the fenced code
block to include a language tag (e.g., change ``` to ```text) so the snippet is
rendered correctly and syntax-highlighted as plain text in the README.
- Around line 34-40: Update the README line that reads "Fill the
SKILL_TEMPLATE.md" to clearly state that the wizard generates a populated
SKILL.md from the template (e.g., "Create and populate SKILL.md from
SKILL_TEMPLATE.md"); reference SKILL_TEMPLATE.md and SKILL.md so readers know
the template is used to produce a new SKILL.md file.
- Around line 18-24: The code block showing the skill directory structure is
missing a language specifier; update the fenced code block in
.claude/skills/README.md (the directory structure block) to use a generic
language tag such as "text" or "plaintext" (i.e., change ``` to ```text) so
markdownlint recognizes it as plain text and the block renders correctly.

In `@templates/SKILL_TEMPLATE.md`:
- Line 3: The frontmatter description line is too long; change the description
scalar to a YAML multi-line block (use | or >) and break the placeholder text
into wrapped lines <=120 chars while preserving all placeholders like
{PRIMARY_USE_CASE}, {SPECIFIC_CAPABILITIES}, {EXAMPLE_*} and the example/
comment tags; update the description field in SKILL_TEMPLATE.md so it becomes a
multi-line YAML block and wrap the examples and text into readable lines that
conform to the 120‑char limit.

@@ -0,0 +1,142 @@
---
name: {SKILL_NAME}
description: This skill should be used when {PRIMARY_USE_CASE}. It provides {SPECIFIC_CAPABILITIES}. Examples: <example>Context: {EXAMPLE_CONTEXT_1} user: "{EXAMPLE_USER_REQUEST_1}" assistant: "{EXAMPLE_ASSISTANT_RESPONSE_1}" <commentary>{EXAMPLE_COMMENTARY_1}</commentary></example> <example>Context: {EXAMPLE_CONTEXT_2} user: "{EXAMPLE_USER_REQUEST_2}" assistant: "{EXAMPLE_ASSISTANT_RESPONSE_2}" <commentary>{EXAMPLE_COMMENTARY_2}</commentary></example>
Copy link
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick | 🔵 Trivial

Line exceeds 120 character limit.

The description field in frontmatter is a single line exceeding 400 characters. While frontmatter fields often require single lines, consider whether the YAML multi-line syntax (| or >) would be acceptable for the consuming tooling, or document this as an expected exception.

As per coding guidelines, Markdown line length should be limited to 120 characters.

🤖 Prompt for AI Agents
In `@templates/SKILL_TEMPLATE.md` at line 3, The frontmatter description line is
too long; change the description scalar to a YAML multi-line block (use | or >)
and break the placeholder text into wrapped lines <=120 chars while preserving
all placeholders like {PRIMARY_USE_CASE}, {SPECIFIC_CAPABILITIES}, {EXAMPLE_*}
and the example/ comment tags; update the description field in SKILL_TEMPLATE.md
so it becomes a multi-line YAML block and wrap the examples and text into
readable lines that conform to the 120‑char limit.

- Remove XML tags from YAML frontmatter (breaks parsers)
- Add language specifiers to 3 fenced code blocks
- Clarify wizard generates SKILL.md from template
- Expand placeholder checklist from 15 to 47 placeholders
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (9)
CLAUDE.md (2)

64-78: Add a language tag to the directory tree code block.

The fence is untyped, but markdown rules require a language tag. Use text for ASCII trees.
As per coding guidelines, add a language tag.

✅ Proposed fix
-```
+```text
 .claude/commands/
 ├── 00-initial-workflow/      # Project analysis & intelligent chaining (2)
 ├── 01-project-setup/         # Documentation, learning, MCP setup (3)
 ...
 └── 11-enterprise-scale/      # Governance & multi-repo (8)

</details>

---

`3-13`: **Wrap long Markdown lines to ≤120 characters.**

Several lines exceed the 120-char limit (e.g., overview and agent lists).  
As per coding guidelines, wrap long lines.

<details>
<summary>✅ Example adjustment</summary>

```diff
-This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this
+repository.

Also applies to: 84-107, 118-120

.claude/commands/09-agentic-capabilities/workflow-visual.md (1)

26-27: Wrap the long <role> line to ≤120 characters.

This line exceeds the max line length.
As per coding guidelines, wrap long lines.

✅ Example adjustment
-System: You are an expert workflow visualization and design specialist with deep expertise in visual workflow builders, process modeling, agent orchestration design, and interactive workflow creation. You excel at creating intuitive visual interfaces for designing, managing, and optimizing complex multi-agent workflows.
+System: You are an expert workflow visualization and design specialist with deep expertise in visual
+workflow builders, process modeling, agent orchestration design, and interactive workflow creation.
+You excel at creating intuitive visual interfaces for designing, managing, and optimizing complex
+multi-agent workflows.
.claude/commands/09-agentic-capabilities/context-persist.md (1)

26-27: Wrap the long <role> line to ≤120 characters.

This line exceeds the max line length.
As per coding guidelines, wrap long lines.

✅ Example adjustment
-System: You are an expert context persistence specialist with deep expertise in session management, context serialization, knowledge retention, and cross-session continuity. You excel at maintaining context and learning across multiple development sessions, ensuring direct continuity of work and knowledge.
+System: You are an expert context persistence specialist with deep expertise in session management,
+context serialization, knowledge retention, and cross-session continuity. You excel at maintaining
+context and learning across multiple development sessions, ensuring direct continuity of work and
+knowledge.
.claude/commands/09-agentic-capabilities/agent-specialize.md (1)

26-27: Wrap the long <role> line to ≤120 characters.

This line exceeds the max line length.
As per coding guidelines, wrap long lines.

✅ Example adjustment
-System: You are an expert agent architecture specialist with deep expertise in multi-agent systems, role specialization, capability assignment, and agent coordination. You excel at designing specialized agents for specific domains, assigning capabilities based on expertise areas, and creating efficient agent hierarchies.
+System: You are an expert agent architecture specialist with deep expertise in multi-agent systems,
+role specialization, capability assignment, and agent coordination. You excel at designing
+specialized agents for specific domains, assigning capabilities based on expertise areas, and
+creating efficient agent hierarchies.
.claude/commands/09-agentic-capabilities/context-manager.md (2)

296-298: Add a language tag to the output-format ASCII block.

The code fence is untyped; use text for ASCII output.
As per coding guidelines, add a language tag.

✅ Proposed fix
-```
+```text
 [ASCII representation of context relationships or link to visualization]

</details>

---

`26-27`: **Wrap the long `<role>` line to ≤120 characters.**

This line exceeds the max line length.  
As per coding guidelines, wrap long lines.

<details>
<summary>✅ Example adjustment</summary>

```diff
-System: You are an expert context management specialist with deep expertise in semantic understanding, knowledge graphs, conversation context, and AI-driven context persistence. You excel at managing complex conversational state, semantic relationships, and contextual knowledge across development sessions.
+System: You are an expert context management specialist with deep expertise in semantic
+understanding, knowledge graphs, conversation context, and AI-driven context persistence. You
+excel at managing complex conversational state, semantic relationships, and contextual knowledge
+across development sessions.
.claude/commands/09-agentic-capabilities/agent-communicate.md (1)

31-32: Wrap the long <role> line to ≤120 characters.

This line exceeds the max line length.
As per coding guidelines, wrap long lines.

✅ Example adjustment
-System: You are an expert multi-agent communication specialist with deep expertise in agent coordination protocols, message passing systems, distributed agent architectures, and inter-agent collaboration patterns. You excel at designing and implementing sophisticated communication systems that enable direct coordination between specialized agents.
+System: You are an expert multi-agent communication specialist with deep expertise in agent
+coordination protocols, message passing systems, distributed agent architectures, and inter-agent
+collaboration patterns. You excel at designing and implementing sophisticated communication
+systems that enable direct coordination between specialized agents.
.claude/commands/11-enterprise-scale/compliance-enterprise.md (1)

1-440: Documentation refactor: Consider separating from feature work.

This file (along with 5 other command documentation files) has been renumbered to use phase-local numbering (1, 2, 3 within each phase) rather than global numbering. While this improves readability and is technically correct, these documentation updates appear unrelated to the PR's stated objective of "adding skill template system with creator wizard."

The changes are:

  • Purely cosmetic (no semantic content modified)
  • Consistently applied across all affected files
  • Validation passed (70 commands remain valid)

However, bundling unrelated documentation refactoring with feature work can:

  • Obscure the actual feature changes in review
  • Make rollback more complex if needed
  • Complicate git history and blame tracking

Recommendation: Consider whether these documentation numbering updates should be in a separate PR. If they're intentionally grouped (e.g., as part of documentation standardization for the new skill system), adding a note in the PR description explaining the relationship would improve clarity.

As per coding guidelines, the 70-command count has been maintained correctly.

🤖 Fix all issues with AI agents
In `@templates/SKILL_TEMPLATE.md`:
- Around line 81-89: Add a blank line before and after each fenced code block in
the examples so they comply with MD031: update the sections containing
**{EXAMPLE_SCENARIO_1}** and **{EXAMPLE_SCENARIO_2}** so there is an empty line
between the scenario text and the opening fence (```{CODE_LANGUAGE_1} /
```{CODE_LANGUAGE_2}) and another empty line after the closing fence; ensure
both `{EXAMPLE_CODE_1}` and `{EXAMPLE_CODE_2}` blocks are wrapped with these
surrounding blank lines.
♻️ Duplicate comments (2)
templates/SKILL_TEMPLATE.md (1)

3-3: Frontmatter description line exceeds 120 chars (already noted).

.claude/agents/skill-creator-wizard.md (1)

3-3: Frontmatter description line exceeds 120 chars (already noted).

Comment on lines +81 to +89
**{EXAMPLE_SCENARIO_1}:**
```{CODE_LANGUAGE_1}
{EXAMPLE_CODE_1}
```

**{EXAMPLE_SCENARIO_2}:**
```{CODE_LANGUAGE_2}
{EXAMPLE_CODE_2}
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add blank lines around fenced code blocks.

Markdownlint (MD031) requires blank lines before and after fences; both example blocks violate this.

♻️ Proposed fix
 **{EXAMPLE_SCENARIO_1}:**
+
 ```{CODE_LANGUAGE_1}
 {EXAMPLE_CODE_1}

{EXAMPLE_SCENARIO_2}:
+

{EXAMPLE_CODE_2}
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion
**{EXAMPLE_SCENARIO_1}:**

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

82-82: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)


87-87: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)

🤖 Prompt for AI Agents
In `@templates/SKILL_TEMPLATE.md` around lines 81 - 89, Add a blank line before
and after each fenced code block in the examples so they comply with MD031:
update the sections containing **{EXAMPLE_SCENARIO_1}** and
**{EXAMPLE_SCENARIO_2}** so there is an empty line between the scenario text and
the opening fence (```{CODE_LANGUAGE_1} / ```{CODE_LANGUAGE_2}) and another
empty line after the closing fence; ensure both `{EXAMPLE_CODE_1}` and
`{EXAMPLE_CODE_2}` blocks are wrapped with these surrounding blank lines.

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