skill

package
v1.55.0 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package skill holds the canonical content of the no-slop agent skill.

It is the single source of truth for the skill's identity (name and trigger description) and its SKILL.md body. The genskill tool renders Markdown() to the public skills/no-slop/SKILL.md (verified fresh in CI), and the init command installs the same rendering into the user-level agent skill directories under the user's home. The CLI's axi home view reuses Description so the two never drift.

Index

Constants

View Source
const Description = "" /* 321-byte string literal not displayed */

Description is the trigger-shaped frontmatter description: what the skill does and when to use it. It is the single most important field for the agent's decision to load the skill, so it leads with outcomes and keywords.

View Source
const LegacyName = "no-mistakes"
View Source
const Name = "no-slop"

Name is the skill directory name and frontmatter name. It must match the installed directory so the agent exposes it as the /no-slop command.

Variables

View Source
var InstallBases = []string{
	filepath.Join(".claude", "skills"),
	filepath.Join(".agents", "skills"),
}

InstallBases are the user-level agent skill parent directories, relative to the user's home directory, that init populates. `~/.claude/skills` is Claude Code's personal-skill location (OpenCode reads it too); `~/.agents/skills` is the vendor-neutral user-level convention Codex, OpenCode, Rovo Dev, and Pi all read.

Functions

func Install

func Install(root string) ([]string, error)

Install writes SKILL.md into each agent skills directory under root (normally the user's home directory), creating directories as needed. It returns the root-relative paths written so the caller can report them. Writing is idempotent: re-running overwrites with identical content (refreshing a stale SKILL.md from an older version).

Users may consolidate the two bases with a symlink - `.claude/skills` -> `.agents/skills`, the whole `.claude` dir -> `.agents`, or the reverse. Install follows such links transparently, including when the symlinked target dir does not exist yet (a plain os.MkdirAll would fail with "file exists" on a dangling symlink). Both logical bases stay readable afterward via the link.

func InstallUser

func InstallUser() ([]string, error)

InstallUser installs the skill into the agent skill directories under the current user's home directory. It returns the home-relative paths written.

func LegacyMarkdown

func LegacyMarkdown() string

LegacyMarkdown keeps /no-mistakes discoverable as an alias while all instructions and commands point at the canonical no-slop identity.

func Markdown

func Markdown() string

Markdown returns the complete SKILL.md document (YAML frontmatter plus body). The output is deterministic so it can be regenerated and diff-checked. It is the single rendering: the canonical public skill (surfaced by discovery tools, e.g. `npx skills add kunchenguid/no-slop`) and the copy init installs at user level are identical. Older versions vendored a variant with `metadata.internal: true` into each target repo to keep the vendored copy out of repo skill listings; the user-level install is a genuine user installation that should stay discoverable, so no internal marker exists anymore.

func Vendored

func Vendored(repoRoot string) []string

Vendored reports the repo-relative paths of legacy vendored skill copies under repoRoot. Older no-slop versions wrote SKILL.md into each initialized repo; init uses this to tell users those copies are no longer needed. It never modifies the repo.

Types

This section is empty.

Jump to

Keyboard shortcuts

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