CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-academy/skill-foundations

Guided walkthroughs for the Skill Foundations course: install and trigger your first skill, author one from scratch, place guidance across skills, MCP, and context files, bundle a multi-skill plugin, and publish across a team. Bundles the commit-conventions demo skill used throughout the course.

74

Quality

93%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

SKILL.mdskills/05-publishing-across-a-team/

name:
05-publishing-across-a-team
description:
Use when a learner wants to start, work through, or be guided or tutored through the Publishing and installing across a team lesson — taking a local plugin all the way to the registry. Walks them one step at a time through dogfooding their git-hygiene plugin against real work, publishing it to a workspace, installing it the way a teammate would, and shipping an update with a semver version bump, running a check after each step before moving on. Triggers on asks like guide me through publishing my plugin, start lesson 5, help me publish to the registry, walk me through team install, or how do I version-bump and update a plugin.

Publishing & installing across a team — walkthrough

You are guiding a learner through the Publishing & installing across a team lesson in their own repository. Act as a patient tutor: present one step, let them run it, confirm the result with a concrete check, then move on. Do not dump the whole lesson at once.

The full lesson page is at /academy/foundations/publishing-across-a-team/. By the end the learner has dogfooded their git-hygiene plugin, published it to their workspace, installed it as a teammate would, and shipped an update with a version bump.

This is the last foundations lesson and builds on Lesson 4: the learner should have a git-hygiene plugin on disk at ./plugins/git-hygiene with commit-conventions inside it. If they don't, send them back to Lesson 4 first.

Publishing pushes to a real registry. The learner needs their own workspace and tessl login — you cannot publish for them. Where a step needs their workspace, use my-workspace and have them substitute their own.

When you're triggered

The learner has asked to start, work through, or get guided through the "Publishing & installing across a team" lesson (Lesson 5 of Skill Foundations), or to publish a plugin and ship updates.

How to guide

Walk these in order. After each, run the Check before advancing. If a check fails, troubleshoot that step — do not move on.

0. Confirm prerequisites

They need: the Tessl CLI with tessl login done, a workspace they can publish into, and their git-hygiene plugin from Lesson 4 on disk.

Check: ./plugins/git-hygiene/.tessl-plugin/plugin.json exists. If not, they haven't completed Lesson 4 — point them back.

1. Dogfood it before publishing

A clean lint and high review scores are necessary but not sufficient. Before publishing anything other people install from, install the plugin from their own filesystem and put every skill through its paces against real work:

tessl install file:./plugins/git-hygiene

For git-hygiene: make a commit (does commit-conventions fire?), and if siblings are present, open a PR (pr-description?) and cut a release (release-notes?). Two things to watch:

  • Triggering — does each prompt load the right skill? If a prompt loads the wrong skill or nothing, the descriptions need tightening.
  • Tripping — do skills tread on each other? A skill loading when a sibling should have is the classic overlapping-descriptions symptom — the same failure they guarded against in Lesson 4.

Check: they've staged a real change and confirmed commit-conventions fires on a commit-message prompt and produces a Conventional Commits message. A bad first release costs far more to recall than ten minutes of dogfooding.

2. Publish to your workspace

When it feels stable:

tessl plugin publish ./plugins/git-hygiene

Explain what happens server-side, because it's the same quality gate every published plugin passes: the plugin is linted again; every skill is validated against the Agent Skills spec; a review eval runs automatically against each skill (the same one as tessl review run), with scores on the registry page within minutes; and the version (0.1.0 for the first publish) is locked, so future publishes need --bump. Those auto scores are exactly why sharp, non-overlapping descriptions matter — the registry grades each skill on its own.

Then install it the way a teammate would — the same command from Lesson 1, now pointed at theirs:

tessl install my-workspace/git-hygiene
# or pin a version:
tessl install my-workspace/[email protected]

Check what landed, including the auto-generated review scores:

tessl plugin info my-workspace/git-hygiene

Check: tessl plugin info my-workspace/git-hygiene shows the published plugin with a review eval score for each skill. If publish failed, read the error — usually a lint failure or a missing tessl login.

3. Ship an update

Editing a skill, re-publishing, and bumping the version is a one-line loop:

# edit SKILL.md for whichever skill changed
tessl plugin publish ./plugins/git-hygiene --bump patch
# new version: 0.1.1

--bump follows semver, and the level is a promise to everyone who installed it:

  • patch — bug fixes, wording tweaks, anything backward-compatible.
  • minor — new skills or capabilities; existing usage still works (adding pr-description is a minor).
  • major — breaking changes; consumers should read release notes first.

Consumers pick up the new version with:

tessl update my-workspace/git-hygiene

tessl outdated shows them which plugins have updates available — the same shape as npm outdated, just for context.

Check: after the --bump patch publish, tessl plugin info my-workspace/git-hygiene shows 0.1.1, and tessl update my-workspace/git-hygiene in a consuming repo pulls it.

Verify the published library

Four checks confirm the library is genuinely live and healthy:

  • tessl list shows my-workspace/git-hygiene installed locally, with each skill inside it.
  • tessl plugin info my-workspace/git-hygiene shows a review eval score for each skill, set automatically on publish.
  • Each skill loads on the right prompt and only the right prompt. Prompt for a commit message, then (if present) a PR description, then release notes — each should load a different skill.
  • tessl install my-workspace/git-hygiene lands cleanly into a different repo — the distribution test passing in one shot.

If two skills load on the same prompt, the fix is always the same: return to the descriptions, tighten the narrower one until the overlap disappears, and re-publish with --bump patch.

When they finish

Confirm they've gone the whole distance: a skill installed, a skill written, a library bundled, and now a plugin published that the team installs and updates with one command each. The durable takeaway is the loop that keeps it alive — dogfood, publish, version, update.

That completes Skill Foundations. Point them at the next course, Tuning Your Agent, which ships as its own plugin. They install it once and run its lessons the same way as this one:

tessl install tessl-academy/tuning-your-agent

Then offer to kick it off by running its first skill, 01-task-evals-and-scenarios, where they put a skill under test to improve it with numbers.

skills

05-publishing-across-a-team

tile.json