Skip to content

feat(compiler): v5 new docs-agent-skill output target#6775

Merged
johnjenkins merged 4 commits into
v5from
feat-v5-docs-agent-skill-output
Jul 16, 2026
Merged

feat(compiler): v5 new docs-agent-skill output target#6775
johnjenkins merged 4 commits into
v5from
feat-v5-docs-agent-skill-output

Conversation

@johnjenkins

@johnjenkins johnjenkins commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What is the current behavior?

GitHub Issue Number: N/A

What is the new behavior?

docs-agent-skill output target

Generates an Agent Skill - SKILL.md + per-component reference files - describing your component library, so AI coding agents (Claude Code, Cursor, Codex, and 70+ others via npx skills add) can look up props, events, slots, and real usage examples.

Introduces a project-level src/usage/*.md convention for library-wide intro content (installation, theming, etc.), which feeds the skill's description.

Setup

// stencil.config.ts
export const config: Config = {
  outputTargets: [
    { type: 'docs-agent-skill' }, // > dist/skill/
  ],
};

Optional project-level intro (also powers the skill's auto-generated description):

<!-- src/usage/getting-started.md -->
# Getting Started

Install the library, then import the components you need.

From a consuming project, install the generated skill into whatever agent:

npx skills add node_modules/my-design-system/dist/skill

Output

dist/skill/
  SKILL.md
  components/
    my-button.md
    my-input.md
<!-- dist/skill/SKILL.md -->
---
name: my-design-system
description: Install the library, then import the components you need.
---

# my-design-system

## Usage

### Getting-started

# Getting Started

Install the library, then import the components you need.

## Components

- [my-button](components/my-button.md) — A clickable button component.
- [my-input](components/my-input.md) — A simple text input component.
<!-- dist/skill/components/my-button.md -->
# my-button

## Overview

A clickable button component.

## Properties

| Property  | Attribute | Description                | Type                       | Default     |
| --------- | --------- | --------------------------- | --------------------------- | ----------- |
| `variant` | `variant` | The button's visual style. | `"primary" \| "secondary"` | `'primary'` |

## Events

| Event           | Description                         | Type                 |
| --------------- | ------------------------------------ | --------------------- |
| `myButtonClick` | Emitted when the button is clicked. | `CustomEvent<void>`   |

## Usage

### Example-1

# Basic Usage

​```html
<my-button variant="primary">Click me</my-button>
​```

Documentation

Does this introduce a breaking change?

  • Yes
  • No

Testing

Other information

@johnjenkins
johnjenkins requested a review from a team as a code owner July 16, 2026 11:25
@johnjenkins
johnjenkins merged commit 78fa4af into v5 Jul 16, 2026
29 checks passed
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.

1 participant