Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .changeset/proud-rabbits-bake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
"@stephansama/astro-iconify-svgmap": patch
"@stephansama/typed-templates": patch
"@stephansama/ai-commit-msg": patch
"@stephansama/eslint-config": patch
"@stephansama/multipublish": patch
"@stephansama/typed-events": patch
"@stephansama/auto-readme": patch
"@stephansama/typed-env": patch
---

added cross agent skill to packages
4 changes: 4 additions & 0 deletions .config/.cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"ignoreWords": [
"COMMIT_EDITMSG",
"alfy",
"antfu",
"arktype",
"asciicast",
"asciinema",
Expand Down Expand Up @@ -29,6 +30,7 @@
"kaomojis",
"lhci",
"lighthouseci",
"llms",
"macchiato",
"manypkg",
"monoman",
Expand All @@ -54,8 +56,10 @@
"svgmap",
"svgmaps",
"sxzz",
"tanstack",
"taze",
"tsdown",
"tsnapi",
"typedoc",
"unocss",
"vite",
Expand Down
105 changes: 105 additions & 0 deletions .github/workflows/check-skills.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# check-skills.yml — Drop this into your library repo's .github/workflows/
#
# Validates intent skills on PRs. After a release or manual run, opens or
# updates one review PR when existing skills, artifact coverage, or workspace
# package coverage need review.
#
# Triggers: pull requests touching skills/artifacts, new release published, or
# manual workflow_dispatch.
#
# intent-workflow-version: 3
#
# Template variables (replaced by `intent setup`):
# @stephansama/packages — e.g. @tanstack/query or my-workspace workspace

name: Check Skills

on:
pull_request:
paths:
- 'skills/**'
- '**/skills/**'
- '_artifacts/**'
- '**/_artifacts/**'
release:
types: [published]
workflow_dispatch: {}

permissions:
contents: write
pull-requests: write

jobs:
validate:
name: Validate intent skills
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install intent
run: npm install -g @tanstack/intent

- name: Validate skills
run: intent validate --github-summary

review:
name: Check intent skill coverage
if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install intent
run: npm install -g @tanstack/intent

- name: Check skills
id: stale
run: |
intent stale --github-review --package-label "@stephansama/packages"

- name: Open or update review PR
if: steps.stale.outputs.has_review == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION="${{ github.event.release.tag_name || 'manual' }}"
BRANCH="skills/review-${VERSION}"
BASE_BRANCH="${{ github.event.repository.default_branch }}"

git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

git fetch origin "$BRANCH" || true
if git show-ref --verify --quiet "refs/remotes/origin/$BRANCH"; then
git checkout -B "$BRANCH" "origin/$BRANCH"
else
git checkout -b "$BRANCH"
git commit --allow-empty -m "chore: review intent skills for ${VERSION}"
git push origin "$BRANCH"
fi

PR_URL="$(gh pr list --head "$BRANCH" --json url --jq '.[0].url')"
if [ -n "$PR_URL" ]; then
gh pr edit "$PR_URL" --body-file pr-body.md
else
gh pr create \
--title "Review intent skills (${VERSION})" \
--body-file pr-body.md \
--head "$BRANCH" \
--base "$BASE_BRANCH"
fi
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Collection of open-source [npm](https://www.npmx.dev/) packages
<details><summary>Open Table of contents</summary>

- [Introduction](#introduction)
- [AI Agent Support](#ai-agent-support)
- [📦 Packages](#-packages)
- [☂️ Codecov coverage graph](#️-codecov-coverage-graph)
- [Related repositories](#related-repositories)
Expand All @@ -32,6 +33,14 @@ view examples here 👉 [![packages](https://pkg.pr.new/badge/stephansama/packag
or install an example with [`create-stephansama-example`](https://github.com/stephansama/packages/tree/main/core/example)
via `pnpm create stephansama-example`

## AI Agent Support

If you use an AI agent (Claude Code, Cursor, Copilot, etc.), run the following to install skills for all packages:

```sh
pnpm dlx @tanstack/intent@latest install
```

## 📦 Packages

All packages are packaged underneath the `@stephansama` scope (for example: `@stephansama/remark-asciinema`)
Expand Down
26 changes: 26 additions & 0 deletions _artifacts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# \_artifacts

Scaffolding artifacts generated by [TanStack Intent](https://github.com/TanStack/intent) via `intent scaffold`.

## Files

| File | Purpose |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `domain_map.yaml` | Structured knowledge map: skills, domains, failure modes, cross-references, and tensions captured during the maintainer interview |
| `skill_spec.md` | Human-readable companion to `domain_map.yaml` — describes each skill's scope and key patterns in prose |
| `skill_tree.yaml` | Enumeration of every SKILL.md file in the repo with paths, types, sources, and dependencies |

## Regenerating or extending skills

To add skills for a new package or extend existing ones, re-run the scaffold from the repo root:

```sh
npx @tanstack/intent@latest scaffold
```

The existing `domain_map.yaml` provides context that carries forward into subsequent scaffold runs.

## References

- [TanStack Intent — GitHub](https://github.com/TanStack/intent)
- [npm: @tanstack/intent](https://www.npmjs.com/package/@tanstack/intent)
Loading
Loading