skills

package
v0.4.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package skills installs the release-maintained Seamless agent skills into a selected client's per-user skill home. The assets are embedded so seamlessd install-hooks works from a release binary without a repository checkout; the same asset tree is also shipped in release archives.

Index

Constants

View Source
const (
	OnboardName  = "seam-onboard"
	ResearchName = "seam-research"

	OnboardMarker = ".seam-onboard-delivered"
)

Variables

This section is empty.

Functions

func Published added in v0.4.4

func Published() []string

Published lists the maintained skills in distribution order -- the order Install delivers them and the site's Agent Skills discovery index (cmd/docsgen) publishes them.

func Root

func Root(client Client, opts Options) (string, error)

Root returns the selected client's skill root. Codex honors CODEX_HOME; Claude Code's user skill home is always ~/.claude/skills.

func SkillMD added in v0.4.4

func SkillMD(name string) ([]byte, error)

SkillMD returns the embedded SKILL.md for one maintained skill: the exact bytes Install writes into a client's skill home. The site's discovery index publishes and digests these same bytes, so the installed artifact and the published one cannot disagree.

Types

type Action

type Action string

Action describes what an install did for one skill.

const (
	ActionInstalled        Action = "installed"
	ActionUpdated          Action = "updated"
	ActionUnchanged        Action = "unchanged"
	ActionAlreadyDelivered Action = "already-delivered"
	ActionSkipped          Action = "skipped"
)

type Client

type Client string

Client identifies the agent client's skill discovery location.

const (
	ClientClaude Client = "claude"
	ClientCodex  Client = "codex"
)

type Options

type Options struct {
	HomeDir      string
	CodexHome    string
	SkipOnboard  bool
	SkipResearch bool
}

Options provides the client homes and opt-outs. HomeDir is the user's home; CodexHome is $CODEX_HOME when set, otherwise Codex defaults below HomeDir.

func OptionsFromEnvironment

func OptionsFromEnvironment() (Options, error)

OptionsFromEnvironment resolves the real per-user homes used by an installed seamlessd. Tests pass Options directly so they never touch live client state.

type Removal

type Removal struct {
	Root   string
	Skills []string
	Marker bool
}

Removal reports what Remove found for one client. Skills lists package directories; Marker records the one-shot delivery marker independently, because the expected post-onboarding state is marker present and directory absent.

func Remove

func Remove(client Client, opts Options, dryRun bool) (Removal, error)

Remove deletes (or previews) the maintained skill packages and onboarding marker for one client. It never touches other packages in the skill root.

type Result

type Result struct {
	Root     string
	Onboard  Action
	Research Action
}

Result reports the exact root and per-skill actions for installer output.

func Install

func Install(client Client, opts Options) (Result, error)

Install delivers both Seamless skills for client. The one-shot onboarding marker lives in each client root independently: using the Claude copy never suppresses first delivery to Codex, and vice versa.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL