CtrlK
BlogDocsLog inGet started
Tessl Logo

Discover skills

Discover and install skills to enhance your AI agent's capabilities.

AllSkillsDocsRules
NameContainsScore

uinaf/gh-setup

v2.0.28

Set up or align a repository's GitHub collaboration and delivery surface: repo settings, branch/ruleset policy, PR and security templates, Actions hardening, GitHub Environments, release workflows, and deploy workflows. Use when standardizing GitHub setup for repos, CI/CD, GitHub Actions, branch protection, release or publish pipelines, publishing versioned packages, or deploying running apps; route app deploy details to deploy references and package publish details to release references.

Contains:

gh-setup

Set up or align a repository's GitHub collaboration and delivery surface: repo settings, branch/ruleset policy, PR and security templates, Dependabot, Actions hardening, GitHub Environments, release workflows, and deploy workflows. Use when standardizing GitHub setup for repos, dependency updates, CI/CD, GitHub Actions, branch protection, release or publish pipelines, publishing versioned packages, or deploying running apps; route app deploy details to deploy references and package publish details to release references.

Skills

The default Tessl review rubric. An agentic reviewer that reads a SKILL.md and scores it against rubrics for its description and its content, the same reviewer tessl review uses out of the box. Use it as the reference reviewer to score skills, or as the base to fork a custom rubric from.

Contains:

skill-reviewer

Evaluate a SKILL.md for quality. An agent that dynamically discovers the rubric files and scores the skill against each, producing one result per rubric. Use when running a skill review workflow or testing skill quality against configurable rubrics.

Skills

A suite of focused code-review skills for Tessl Agent and GitHub Actions review workflows (`tessl change review`). Each review lens is its own skill, so a workflow can invoke one lens or several. Fork and tune any skill for your own repository.

Contains:

review-code-legibility

Review a diff for legibility — whether a reader with no prior context can understand each name, type, return shape, file, and abstraction from what's in front of them. Applies two tests, the cold-reader test and the from-scratch test, and flags structural problems whose fix is renaming, restructuring, narrowing types, inlining, extracting, or removing — not adding comments. Use as a legibility review lens in `tessl change review` or a GitHub Actions review workflow.

review-contract-boundaries

Review a diff for contract and compatibility risks at boundaries — API schemas, generated clients, CLI flags, event payloads, database migrations, and workflow or job contracts — where a change can break an existing consumer. Use as a contract review lens in `tessl change review` or a GitHub Actions review workflow. Reports high-confidence, file-anchored findings.

review-correctness-and-data-integrity

Review a change for whether it does what it is meant to do, and whether the data it touches survives it intact. Use as one lens in a code review run.

Skills

Travel assistant for NanoClaw: byAir flight notifications (delay, gate, connection risk, inbound aircraft delay, time-to-leave, arrival logistics), traffic-aware drive planning for in-person meetings (auto drive blocks + leave-by traffic rechecks), travel-booking gap checks, and nightly TripIt sync. Per-chat overlay plugin.

Contains:

check-travel-bookings

Checks upcoming trips for missing bookings (flights, hotels, accommodation) by reading the nightly-built `travel-db.json`, and warns when a hotel stay's TripIt location is a garbage value (a fee/rate note or blank) that needs a manual TripIt edit. Reports gaps for all upcoming trips — no date limit. Supports snooze state. Silent when all bookings are complete and every hotel location is a plausible address (or snoozed). Use when the user asks about upcoming travel plans, itinerary completeness, missing reservations, hotel address problems, or TripIt trip status.

drive-engine

The unified drive-block engine: manages the travel-time / driving blocks on your primary calendar from one place — the drives to your flights, the drives to your in-person meetings, and the drive to a trip you drive to rather than fly. On a schedule it plans all three, diffs them against the blocks already there, and applies the changes — adding, updating, and removing its own blocks — suppressing drives you can't make (an airport reached by a connection, a home meeting while you're travelling). Use when the user asks about drive blocks, driving time, commute or travel-time blocks on their calendar, or drives to the airport, to a meeting, or to a hotel; when the operator replies to a drive notification to skip a meeting drive ('skip', 'skip 1', 'skip 2 and 3', 'skip the Massage drive'); when the operator says whether a trip is a drive or a flight ('drive', 'fly'). Also runs on its own schedule, waking you only for a skippable meeting drive, a material drive-time change, or a drive-or-fly question.

expertflyer

Check seat availability or fare-class (upgrade) inventory on a flight, judge whether the seat already assigned is beaten by anything open, review seats across every upcoming flight at once, or create an ExpertFlyer alert when the wanted thing is not already available. Actions - check fare-class/upgrade inventory (Z class, upgrade certificate, SkyTeam partner); check seats on one flight; judge one held seat against everything open in its cabin and the cabins above it; review upcoming flights for better seats; create a seat or fare-class alert; diagnose access. Use when the operator asks whether a seat is open, asks about Comfort+ / premium economy / business availability, asks whether their seat is the best available or worth changing, says make sure I have the best seats or check my upcoming flights for better seats, asks to be alerted when a seat or fare class opens up, or a new booking has just appeared.

SkillsRules

Install and use the Agent Ready (agent-ready.dev) MCP server to scan any URL for AI agent-readability via MCP tool calls. Activates for "install agent-ready mcp", "set up agent-ready in Claude Desktop / Cursor / Cline / Goose / Continue", "add agent-ready as an MCP tool", "scan this site via agent-ready", "run scan_site / get_scan / ask via MCP". Pick this skill when the user wants tool-native access to Agent Ready — no curl, no fetch wiring. For direct REST access without MCP, use the `agent-ready-api` skill instead.

Contains:

agent-ready-mcp

Install and use the Agent Ready (agent-ready.dev) MCP server to scan any URL for AI agent-readability via MCP tool calls. Activates for "install agent-ready mcp", "set up agent-ready in Claude Desktop / Cursor / Cline / Goose / Continue", "add agent-ready as an MCP tool", "scan this site via agent-ready", "run scan_site / get_scan / ask via MCP". Pick this skill when the user wants tool-native access to Agent Ready — no curl, no fetch wiring. For direct REST access without MCP, use the `agent-ready-api` skill instead.

Skills

Use the Agent Ready (agent-ready.dev) command-line client to scan any public URL for AI agent-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). Activates for "scan this site with the agent-ready CLI", "run agent-ready scan {URL} in the terminal", "agent-ready get {id}", "agent-ready list", "agent-ready ask {question}", or any time the user wants a one-command terminal scan with no fetch wiring and no MCP install. Pick this skill when the agent can run shell commands. For raw HTTP, use the `agent-ready-api` skill; for MCP-native tool calls, use `agent-ready-mcp`.

Contains:

agent-ready-cli

Use the Agent Ready (agent-ready.dev) command-line client to scan any public URL for AI agent-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). Activates for "scan this site with the agent-ready CLI", "run agent-ready scan {URL} in the terminal", "agent-ready get {id}", "agent-ready list", "agent-ready ask {question}", or any time the user wants a one-command terminal scan with no fetch wiring and no MCP install. Pick this skill when the agent can run shell commands. For raw HTTP, use the `agent-ready-api` skill; for MCP-native tool calls, use `agent-ready-mcp`.

Skills

Use the Agent Ready (agent-ready.dev) REST API to scan any public URL for AI agent-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). Activates for "scan this site for AI agent-readability", "run an Agent Ready scan on {URL}", "check the Agent Ready score for {URL}", "what's the agent-readability rating for {URL}", or any time the user wants a programmatic readability scan via HTTP. Picks this skill when the user does NOT have the Agent Ready MCP server installed — for MCP, use the `agent-ready-mcp` skill instead.

Contains:

agent-ready-api

Use the Agent Ready (agent-ready.dev) REST API to scan any public URL for AI agent-readability against the Vercel Agent Readability Spec, the llmstxt.org standard, and agent-protocol manifests (MCP server cards, A2A, agents.json, agent-permissions.json, UCP, x402, NLWeb). Activates for "scan this site for AI agent-readability", "run an Agent Ready scan on {URL}", "check the Agent Ready score for {URL}", "what's the agent-readability rating for {URL}", or any time the user wants a programmatic readability scan via HTTP. Picks this skill when the user does NOT have the Agent Ready MCP server installed — for MCP, use the `agent-ready-mcp` skill instead.

Skills

Personal entertainment-media skills for NanoClaw: Trakt watch-history sync, TV-show and audiobook recommendations, watchlist release checks, YouTube channel-comment digests, and Audible backup — with a weekly cadence companion. NanoClaw per-chat overlay tile.

Contains:

audible-backup

Back up new Audible audiobook purchases, decrypt to M4B, and append to books-library.csv. Use on "audible backup", "check new audiobooks", "sync audible library", or from weekly scheduled task.

check-watchlist

Checks tracked upcoming TV shows in watchlist.json and sends a Telegram notification message via MCP when any have been released. Use when running nightly release checks, monitoring streaming release dates, or checking whether new episodes or shows from a watchlist are now available to watch. Fires nightly via its own scheduled_tasks row (post-#404).

entertainment-sync

Weekly entertainment refresh: pulls Trakt watch history, checks watchlist for releases, runs show + book recs, syncs Audible purchases. Triggers: 'entertainment sync', 'weekly entertainment', 'sync trakt audible recs', 'refresh entertainment'.

Skills

Order-email triage for NanoClaw: fetches order-related Gmail, maintains the orders SQLite table, and flags recent anomalies (cancellations/refunds, overdue deliveries, orders stuck in 'ordered' that never shipped), with a cadence companion that runs it on a schedule. NanoClaw per-chat overlay tile.

Contains:

check-orders

Fetches order-related emails from Gmail, updates the orders SQLite table, and flags recent anomalies — cancellations/refunds and overdue deliveries (statuses and per-status cutoffs owned by flag-anomalies.py), plus orders stuck in 'ordered' that never shipped (the stuck age window owned by compute-stuck-orders.py). Silent on normal order flow; older flagged events age out automatically to keep the alert channel signal-only. Use when the user asks about order status, order tracking, order emails, shipment status, purchase alerts, or needs to sync Gmail order data with the orders database.

nightly-order-sync

Cadence wrapper that runs check-orders on its own schedule: fetch order emails, update the orders table in /workspace/store/messages.db, flag anomalies, emit an observable-silence cursor marker. Peeled off the nightly-external-sync bundle (jbaruch/nanoclaw#581) so orders run in a bounded container. Triggers: 'order sync', 'sync orders', 'nightly order sync', 'check my orders nightly'.

Skills

Finds open conference CFPs relevant to the user across Java/AI/developer conferences, with persistent sent/dismissed/remind state and source-aware Sessionize verification. NanoClaw per-chat overlay, loaded via containerConfig.additionalTiles.

Contains:

check-cfps

Finds open CFPs relevant to Baruch across Java/AI/developer conferences and maintains persistent CFP state (sent/dismissed/remind) in cfp-state.json. Use when Baruch asks about upcoming conferences, call for papers, speaking opportunities, CFP deadlines, or where to submit a talk proposal.

nightly-cfp-sync

Cadence wrapper that runs check-cfps on its own schedule: refresh open CFP data, apply Sessionize verification, update cfp-state.json, emit an observable-silence cursor marker. Triggers: 'cfp sync', 'sync cfps', 'nightly cfp sync', 'refresh cfps nightly'.

Skills

Core behavioral rules and skills for NanoClaw personal assistant agents. Always-on rules for communication, verification, memory, and formatting.

Contains:

now-vs-deadline

Deterministically decide whether a deadline/event is past or future relative to the real current instant. The mandated computation path for `rules/temporal-awareness.md` — call it before any "already passed", "still time to act", or upcoming/just-happened framing instead of eyeballing the clock.

query-history

Search messages.db for past chat history by keyword and/or sender username. Use when the user references past messages, after context compaction, after a session nuke, or anywhere `rules/context-recovery.md` requires checking the message history before claiming lost context.

SkillsRules

General-purpose coding policy for Baruch's AI agents

Contains:

adopt-fork-pr

Use when the user asks to check, review, look at, or act on a pull request by number — "check PR 5", "review PR 12", "what's going on with PR 7", "look at this PR". Classifies the PR as same-repo or fork. Fork PRs are skipped by the policy reviewer's fork-guard; this skill offers to adopt the fork branch into the base repo as a same-repo PR the reviewer can run on, preserving the contributor's commits. Same-repo PRs pass straight through to the existing reviewer.

migrate-to-plugin

Migrate a legacy tile.json plugin to the .tessl-plugin/plugin.json form. Runs `tessl plugin migrate`, renames .tileignore to .tesslignore, removes the obsolete tile.json, re-lints, then reconciles residual "tile" wording to "plugin" in the repo's prose. Use when a repo still has a tile.json (and no .tessl-plugin/plugin.json), or when the user asks to migrate / convert / modernize a tile.json plugin, move off tile.json, or adopt the plugin.json manifest form.

onboard-repo

Add the files that run the `jbaruch/coding-policy` coding-rule review on a repo's pull requests: scaffold a `.github/fleet-review-enabled` marker, a `.github/workflows/review-trigger.yml` (on each PR, starts a review of that PR against the coding-policy rules), a `.github/copilot-instructions.md` pointing Copilot at the code-quality lane, and a `.env.example` entry, then open a PR. While the marker is present the same review also runs on a schedule as a backstop; both post as a review. The consumer sets one `FLEET_DISPATCH_TOKEN` secret that `review-trigger.yml` reads. Use when the user wants to add, install, enable, scaffold, set up, wire up, or enroll an automated policy review / PR reviewer / coding-policy reviewer in a consumer repo. Also use to upgrade or refresh the reviewer files in a repo that already has them (override mode).

SkillsRules

Security rules for untrusted NanoClaw groups covering credential protection, internal file protection, and social engineering defenses.

Contains:

whoami

Lists permitted and prohibited actions, blocks disallowed content types, and responds to permission queries in shared or public group settings. Use when joining a new group, when unsure about rules, permissions, or boundaries, when someone asks what you are allowed to do here, or when operating in a public channel or untrusted group chat environment.

SkillsRules

Instrument applications with the OpenTelemetry SDK and prove the telemetry is good by validating it against a local Kopai backend. Use when setting up observability, adding tracing/logging/metrics, deciding what to instrument or which attributes to add, retrofitting OTel into an existing codebase, threading context through call chains, configuring sampling, or when traces/logs/metrics aren't appearing after setup. Also use when users say things like "my traces aren't showing up", "I don't see any data", or "how do I add observability to my app". Do NOT use to investigate existing telemetry for a root cause (use root-cause-analysis), to build dashboards (use create-dashboard), or to instrument LLM and agent calls (use otel-genai-instrumentation).

Contains:

otel-instrumentation

Instrument applications with the OpenTelemetry SDK and prove the telemetry is good by validating it against a local Kopai backend. Use when setting up observability, adding tracing/logging/metrics, deciding what to instrument or which attributes to add, retrofitting OTel into an existing codebase, threading context through call chains, configuring sampling, or when traces/logs/metrics aren't appearing after setup. Also use when users say things like "my traces aren't showing up", "I don't see any data", or "how do I add observability to my app". Do NOT use to investigate existing telemetry for a root cause (use root-cause-analysis), to build dashboards (use create-dashboard), or to instrument LLM and agent calls (use otel-genai-instrumentation).

Skills

Write professional, persuasive complaint letters to US airlines emphasizing loyalty status, DOT regulations, and airline commitments.

Contains:

frequent-flyer-advocate

Write professional, persuasive complaint letters to US airlines on behalf of passengers. Emphasizes loyalty status, DOT regulations, and the airline's own published commitments. Use when: user wants to complain to an airline, request compensation, write a complaint letter, dispute an airline's response, escalate an airline issue, file a DOT complaint, or mentions a bad flight experience they want to act on. Also trigger when user describes: flight delay, cancellation, lost baggage, damaged baggage, denied boarding, downgrade, poor service, broken amenities, tarmac delay, missed connection, or any airline service failure they want addressed.

using-travel-credits

How an LLM agent reads and updates the shared travel-credits inventory at ~/.claude/travel-credits/ — flight credits, vouchers, upgrade certificates, and airline or hotel compensation, tracked for a whole family across every carrier and brand. Actions: check store readiness and bootstrap it; migrate the store to the current record shape; list credits; show what is expiring; match credits against a booking scenario; show compensation history; add a credit; update one; mark one used; handle errors. Use whenever a question turns on what credits, vouchers, or certificates are on hand — before searching flights, when presenting an itinerary, after a booking, or when an airline grants compensation.

SkillsRules

Write developer blog posts from video transcripts, meeting notes, or rough ideas — extracting narrative, structuring hooks and technical sections, formatting code placeholders, learning the author's voice through interactive onboarding, and checking drafts against 38 AI anti-patterns with three-pass scanning, craft sweep, and rewrite auditing — whenever the user wants to write a blog post, draft a blog, turn a transcript into a blog, work on blog content, or continue a blog series.

Contains:

blog-writer

Write developer blog posts from video transcripts, meeting notes, or rough ideas. Extracts narrative from source material, structures content with hooks and technical sections, formats code examples with placeholders, and checks drafts against 38 AI anti-patterns. Use this skill whenever the user wants to write a blog post, draft a blog, turn a transcript into a blog, work on blog content, or mentions "blog" in the context of content creation. Also trigger when the user provides a video transcript and wants written content derived from it, or when continuing work on a blog series.

Skills

Six-skill presentation system: ingest talks into a rhetoric vault, run interactive clarification, generate a speaker profile, create presentations that match your documented patterns, produce the deck illustrations + thumbnail visual layer, and publish talk pages to a Jekyll shownotes site. Includes a 111-entry Presentation Patterns taxonomy (81 observable: 62 patterns + 19 antipatterns; 30 unobservable: 21 patterns + 9 antipatterns) for scoring, brainstorming, and go-live preparation.

Contains:

illustrations

Generates the visual layer of a talk: deck illustrations (FULL / IMG+TXT slides with a shared style anchor), progressive-reveal build chains, and YouTube thumbnails. Owns style-strategy collaboration (informed by the speaker's visual_style_history in the vault), prompt safety, edit-vs-regenerate asymmetry, build chaining, title-safe-zone composition, and thumbnail composition with a real speaker photo. Invoked by presentation-creator during illustration strategy (Phase 2), illustration generation and application to the deck (Phase 5), and the post-event YouTube thumbnail (Phase 7). Triggers: "illustrate the deck", "generate illustrations", "create slide visuals", "design the visual style", "make a thumbnail", "build a YouTube thumbnail", "add visuals to my talk", "regenerate slide image", "fix the thumbnail", "generate progressive reveals", "build sequence for a slide".

presentation-creator

Creates presentations grounded in the speaker's documented rhetoric patterns, using a personal rhetoric-knowledge-vault as a constitutional style guide. Interactive and spec-driven: distill intent, jointly select rhetorical instruments from the vault catalog, architect the talk, develop content with speaker notes, run guardrail checks, generate a .pptx deck, publish per the speaker's workflow. Use whenever the user wants to create a presentation, build a talk, write a conference submission, design a slide deck, prepare for a speaking engagement, describe a topic to present on, or adapt an existing talk for a new audience. Also handles CFP abstracts; the sessions catalog of submission-ready titles, abstracts, and outlines; and single post-authoring tasks on an existing talk — QR code, deck export, shownotes page, YouTube thumbnail, linking a recording. Not a generic slide-deck tool — requires a populated rhetoric-knowledge-vault and follows the speaker's established style.

shownotes-publisher

Publish a talk page to the Jekyll-based shownotes site (e.g., speaking.jbaru.ch). Composes a markdown file in the site's `_talks/` collection so the custom Jekyll parser plugin extracts the right fields, the talk.html layout renders correctly, and the "Video Coming Soon" badge fires when the recording isn't ready yet. Use when the user says "publish shownotes", "create shownotes page", "add talk to shownotes", "shownotes for [some talk]", "shownotes site", "speaking.jbaru.ch", or asks to update a talk page (e.g., "add the video to the shownotes", "the video is out", "update shownotes with the recording"). Also trigger for first-time publishing before a talk is delivered, when only the slides URL exists. The Jekyll site at `~/Projects/shownotes` uses a custom markdown parser (`_plugins/markdown_parser.rb`) that imposes specific format rules — this skill encodes those rules so the agent doesn't author content that silently fails to render.

SkillsRules

Can't find what you're looking for? Evaluate a missing skill.