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
93%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
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.
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.
Walk these in order. After each, run the Check before advancing. If a check fails, troubleshoot that step — do not move on.
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.
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-hygieneFor 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:
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.
When it feels stable:
tessl plugin publish ./plugins/git-hygieneExplain 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-hygieneCheck: 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.
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-hygienetessl 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.
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.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.
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-agentThen 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.