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
17 changes: 8 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
name: CI
name: Validate Skills

on:
pull_request:
paths:
- 'skills/**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
ci:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- run: bun install --frozen-lockfile
- run: bun run lint
- run: bun test
- run: bun run build
- run: bun run validate
- run: bun run publint
- uses: actions/setup-node@v4
with:
node-version: 22
- run: node scripts/validate.js
73 changes: 0 additions & 73 deletions .github/workflows/release.yml

This file was deleted.

31 changes: 5 additions & 26 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,37 +1,16 @@
# dependencies (bun install)
# dependencies
node_modules

# output
out
dist
*.tgz

# code coverage
coverage
*.lcov

# logs
logs
_.log
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json

# dotenv environment variable files
# dotenv
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
.env.*.local

# caches
.eslintcache
.cache
*.tsbuildinfo

# IntelliJ based IDEs
# IDE
.idea

# Finder (MacOS) folder config
# macOS
.DS_Store

# Cursor
.cursor/
4 changes: 0 additions & 4 deletions .prettierignore

This file was deleted.

60 changes: 0 additions & 60 deletions .releaserc.js

This file was deleted.

12 changes: 0 additions & 12 deletions .vscode/settings.json

This file was deleted.

72 changes: 41 additions & 31 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,52 @@
# Contributing Agent Instructions
# AGENTS.md

Instructions for AI agents (Claude Code, Codex, Cursor, OpenCode) contributing to this repo.
This file provides guidance to AI coding agents working with code in this repository.

## Repository Structure
## Project Overview

- `skills/` — Agent skill directories, each containing a `SKILL.md` with YAML frontmatter and Markdown instructions
- `src/` — CLI source (TypeScript, built with Bun)
- `src/cli.ts` — Entry point, command routing via Commander
- `src/commands/` — Individual command implementations (list, add, remove, info, dev, validate)
- `src/agents.ts` — Agent definitions, detection logic, install paths
- `src/installer.ts` — Install/uninstall/symlink logic
- `src/skills.ts` — Skill discovery and SKILL.md parsing (uses gray-matter)
- `src/validator.ts` — SKILL.md validation against the Agent Skills spec
- `src/types.ts` — Shared TypeScript types
- `tests/` — Tests using `bun:test`
This is a documentation repository containing [Agent Skills](https://agentskills.io/specification) for TxnLab's Algorand ecosystem. Skills extend AI coding agents with specialized knowledge about NFDomains, use-wallet, and Haystack Router. There is no build step or compiled output — the deliverables are markdown files.

## Build, Test, Lint
## Commands

```bash
bun install # Install dependencies (always use bun, never npm/yarn/pnpm)
bun run build # Build CLI to dist/
bun test # Run tests
bun run lint # Check formatting (Prettier) and linting (ESLint)
bun run lint:fix # Auto-fix
bun run validate # Validate all SKILL.md files
# Validate all skills
node scripts/validate.js

# Validate a specific skill
node scripts/validate.js <skill-name>
```

## Skill Authoring
There are no build, test, or lint commands. Validation is the only check.

## Architecture

Each skill lives in `skills/<skill-name>/` and follows the Agent Skills specification:

- **`SKILL.md`** — Entry point with YAML frontmatter (`name` and `description` required). The `name` field must match the directory name.
- **`references/`** — Detailed markdown guides for specific tasks (API usage, framework integration, etc.)
- **`assets/`** — Optional static assets (none currently used)

The validation script (`scripts/validate.js`) checks frontmatter structure using only Node.js built-ins (no dependencies). It parses YAML frontmatter manually and verifies required fields.

## Current Skills

1. Read `skills/skill-creator/SKILL.md` for the skill creation process
2. Create a new directory under `skills/<skill-name>/`
3. Write a `SKILL.md` with valid YAML frontmatter (`name`, `description` required)
4. Run `bun run validate` to check your skill
5. Submit a PRvalidation runs in CI
| Skill | Package |
| --- | --- |
| `nfd` | `@txnlab/nfd-sdk` — Algorand Name Service (.algo domains) |
| `use-wallet` | `@txnlab/use-wallet` v4.x — Multi-framework wallet connections |
| `haystack-router` | `@txnlab/haystack-router`DEX aggregator and swap routing |

## Testing Conventions
## Adding a New Skill

- Test files: `tests/<module>.test.ts`
- Use `bun:test` (describe, test, expect)
- Tests should be self-contained — create temp dirs, clean up in afterAll
- Cover both happy paths and edge cases
1. Create `skills/<skill-name>/SKILL.md` with YAML frontmatter containing `name` (matching directory) and `description`
2. Add `references/*.md` files for detailed task-specific documentation
3. Run `node scripts/validate.js` to verify
4. Use [conventional commits](https://www.conventionalcommits.org/)

## Local Testing

Symlink a skill directory to test with Claude Code directly:

```bash
ln -s $(pwd)/skills/nfd ~/.claude/skills/nfd
```
21 changes: 0 additions & 21 deletions CHANGELOG.md

This file was deleted.

32 changes: 2 additions & 30 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,3 @@
# @txnlab/skills
# CLAUDE.md

Agent skills for TxnLab's Algorand ecosystem. This repo contains curated skills and a CLI for installing them.

## Structure

- `skills/` — Agent skill directories (each with SKILL.md)
- `src/` — CLI source code
- `tests/` — Tests (bun:test)

## Commands

```bash
bun run build # Build CLI to dist/
bun run dev # Run CLI from source (e.g., bun run dev list)
bun test # Run tests
bun run lint # Check formatting and linting
bun run lint:fix # Auto-fix formatting and linting
bun run validate # Validate all SKILL.md files
```

## Conventions

- Always read `skills/skill-creator/SKILL.md` before writing new skills
- All skills must pass `txnlab-skills validate` before merging
- Use Prettier for formatting, ESLint for linting
- Tests use `bun:test`, test files go in `tests/`
- Commit messages follow conventional commits
- Bun is the only runtime — do not use npm/yarn/pnpm

See `README.md` for the full CLI reference, supported agents, and contributing guide.
Strictly follow the rules in ./AGENTS.md
Loading