Skip to content
This repository was archived by the owner on Oct 28, 2026. It is now read-only.
KntntPublic archive

About

AI Agent Skills Collection by Kntnt Sweden AB

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Kntnt Skills

License Latest release

You are in the right place if you want practical agent skills for maintaining agent instructions, delegating work, shipping code, preparing tickets, choosing AI models, organizing accounting PDFs, and saving web pages for offline reading.

The collection works across Claude Code, Codex, OpenCode, and other harnesses. Its kntnt manager installs the skills you choose into every detected harness, while keeping machine-wide skills separate from project-specific ones.

Quick start

Make sure you have the prerequisites in place: uv, npx, and network access.

Install Kntnt Skills:

npx skills add Kntnt/skills

Open the catalog of available skills:

/kntnt select

Choose the skills you want in plain text. You can ask to read any skill's help before confirming the list.

Current delivery scope

The current collection includes the engineering, agent, model, infrastructure, accounting and offline web tools below, plus the two Features. Editorial development is held: brief, write, redline, proofread, unslop and their editorial Library resources are absent from this delivery.

A reachable /kntnt update removes these five Skills as Withdrawn from the targeted layer. A Global update also replaces the Manager with the selected Library. Two former Library filenames carry only withdrawal notices so older Managers can validate that replacement; they provide no Editorial behavior. A Global update affects Global copies; Project copies remain until that Project is updated. Other collections and unmarked user files are preserved. The previous source is preserved on preserve/selective-release-20261006; see the selection evidence.

Choose where skills apply

Layer Purpose Command
Global Make skills available on this machine /kntnt select
Project Add skills for the current working directory /kntnt select --project

A project can add to the global set but cannot hide a global skill. The manager detects harnesses on every run; if none is detected, it uses .agents/skills.

Manage the collection

Command Result
/kntnt Show manager help
/kntnt select [--project] View the catalog and change enabled skills
/kntnt select --on=<entry> --yes Enable a named skill or feature without opening the list
/kntnt update [--project] Refresh changed skills and handle catalog changes
/kntnt uninstall Remove global skills and the manager

Use /kntnt help <command> for manager details. Use /<skill> --help or /kntnt help <skill> for an enabled skill.

--dry-run is available for select, update, and uninstall. --yes answers every yes-or-no question with yes; on update, that includes enabling new skills.

Usage

These summaries help you choose a skill. Each skill's --help shows its complete syntax and options briefly, with the installed reference-file path for defaults and detailed behavior.

agents-md

Keep a project's AGENTS.md, CLAUDE.md, and docs/agents/ concise and current. It records only useful facts that later sessions cannot discover elsewhere.

Run /agents-md [--force] [--yes] [path].

delegation

Let the main agent decide, plan, and verify while subagents perform selected work routed by model-selector unless run on the frozen main seat with no override. The mode can apply to the session, project, or current harness user.

Run /delegation, /delegation on|off [--project|--user] [--yes], or /delegation status [--project|--user].

explain

Get a brief, clear explanation of the reply just given, or whatever you name in the instruction. Written for an intelligent, busy colleague, it answers what needs clarification with just enough context, explains unfamiliar project terms, and makes any decision or action expected of you clear. Focused questions normally get one to three short paragraphs.

Run /explain, optionally followed by an instruction such as /explain bara säkerhetsdelen.

commit

Reconcile the changelog, review the complete working tree, and create one commit without pushing. A message is derived when none is supplied.

Run /commit [--yes] [message].

push

Run the commit workflow, then push the current branch to its upstream. Existing unpushed commits can be pushed even when the working tree is clean.

Run /push [--yes] [message].

release

Publish a version from the default branch. The skill updates the changelog and version files, pushes, tags, and creates a GitHub release when gh and a GitHub remote are available.

Run /release [--no-build] [--yes] [minor|major|X.Y.Z].

ready-for-agent-check

Check whether GitHub tickets contain enough settled, current information for unattended implementation. It reports blockers and costs without changing the tracker.

Run /ready-for-agent-check [#ticket ...].

orchestrate

Build ready-for-agent tickets in dependency waves. Fresh subagents implement and independently verify each ticket; successful work is integrated and recorded, but never pushed or released.

Run /orchestrate [--dry-run] [--at-once=N] [--model=NAME] [--deliberation=LEVEL] [--max-deliberation=LEVEL] [--fast] [--approval=IDENTITY] [--yes] [#ticket-or-spec ...].

Use /orchestrate reconcile [--commit=COMMIT] [--yes] #ticket when a failed or conflicted attempt was completed outside orchestrate.

model-selector

Describe a piece of work and get back the model and reasoning effort expected to finish it for the least money, or in the least time where /model-selector objective time has made that your standing choice — among the points it has actually measured doing that kind of work, the one whose price divided by its chance of success is lowest, and where none of those measurements reaches the bar the cheapest of the ones they cannot tell apart from the best of them, a cheap run that has to be redone being the expensive one, rather than the cheapest sticker, the strongest model, or an estimate nothing here has ever tested, or whichever measured point happens to be cheapest — with what that estimate rests on, and the alternatives it beat. It is advice and never a refusal: with no profile, or nothing reachable, the answer is the seat you already have and a note saying why. Once Enabled it also measures substantial units of work in the harnesses on this machine — delegated work, and a session's own work that ran ten minutes or more, never quick exchanges — grades what nothing else judged with one bought model call, and keeps counts, prices and dates, never your prompts, code, or paths.

Run /model-selector <work> for an answer and /model-selector setup to choose Makers, all or selected model series, and payment channels. Selected series follow their latest usable release automatically. Run /model-selector update [--data=PATH] to refresh catalogue facts immediately without repeating setup or approving the profile again. /model-selector list [--data=PATH] briefly lists the profile's selected Harnesses and latest catalogue release per selected series, grouped under Maker display names; status keeps its diagnostic role. evidence, objective, and reset are the other commands. Read /model-selector --help for what enabling it measures before you enable it.

rename-invoices

Plan and apply deterministic filenames for accounting PDFs using extracted document evidence, an explicit document type, and configured locales. By default, it applies after confirmation; --yes skips the question and --dry-run only reports the plan.

Run /rename-invoices [--folder=<path>] --type=<name> [--locale=<name> ...] [--yes|--dry-run].

mirror

Save a web page, and every page and file under it that its links, sitemaps and feeds reach, to disk with everything they need to display — images, stylesheets, scripts, fonts and media, on whatever host they are — and rewrite their references so the copy opens in a browser with nothing fetched from the network. The crawl stays under the start page's directory, widened by --include and narrowed by --exclude regular expressions, obeys robots.txt, and stops at 5000 pages unless --max-pages says otherwise; --no-links, --no-sitemap and --no-feeds turn each way of finding pages off. A host that blocks it climbs from plain HTTP to a Chrome identity and then to a headless browser, whose rendered page is saved without its scripts; --headed opens a visible browser where you can pass a challenge or log in, and --profile lends it your Chrome profile. Each run leaves a manifest of every URL it took a position on and a log beside the copy; --dry-run shows what would be fetched without writing anything.

Run /mirror [--output=<dir>] [--resources=all|in-scope|none] [--max-pages=<n>] [--delay=<seconds>] [--no-links] [--no-sitemap] [--no-feeds] [--ignore-robots] [--include=<regex> ...] [--exclude=<regex> ...] [--header=<name: value> ...] [--user-agent=<string>] [--browser=auto|always|never] [--headed] [--profile=<name>|<path>] [--dry-run] <url>.

cloudns

Read and change DNS zones and records at ClouDNS. It reads the zone before it writes, applies each change through the ClouDNS API, reads the zone again to verify it, and reports what changed and what the service answered. It acts as an API sub-user rather than the account's main API user, so it reaches exactly the zones delegated to that sub-user or created by it, and it can add a zone for a domain bought elsewhere and tell you the nameservers to enter at your registrar. Deletions are made only where you asked for them.

Run /cloudns setup once to make the sub-user's credential, which is drawn for you, put on the clipboard for you to paste into the ClouDNS panel, and never shown in the conversation; /cloudns status confirms it and lists the zones it reaches. Then run /cloudns -- <change>, or let the agent use it for a matching ClouDNS task.

hetzner

Provision Hetzner Cloud servers, install software, and deploy or maintain their websites and applications with the official hcloud CLI, cloud-init, and SSH. It follows the project's existing stack and deployment files, reconciles existing resources and interrupted writes, and verifies bootstrap, services, and the requested public endpoint. Application-specific release and recovery routines stay in the project.

Run /hetzner -- <operation> with the operation and its constraints, or let the agent use it for a matching Hetzner Cloud task. A project is set up once with /hetzner setup <project>, after you copy a Read & Write API token from the project's Security page in the Console: the token goes from the clipboard into hcloud's own configuration without entering the conversation, setup --yes rotates it, and /hetzner status lists every project and what it reaches. setup also gives the agents a key of their own, ~/.ssh/kntnt-agent, for a user kntnt-agent with passwordless sudo: a server the Skill creates gets it at creation; on a server a configuration tool such as Ansible manages, the agents are declared as an administrator of their own through that tool, in the workflow of the project at hand; and on an existing server nothing converges, you admit them once by the procedure setup prints. Preparation alone creates no remote resources; billed and destructive changes stay within the established authorization. Robot dedicated servers and Object Storage are outside its scope.

nodeping

Read and change uptime monitoring at NodePing — checks, their results and uptime, contacts, contact groups, schedules and notifications — through NodePing's API. It reads what exists before it writes, matches a check by its label and target, verifies each change by reading it again, and deletes nothing without authorization you have given.

Run /nodeping setup once to store your API token, copied to the clipboard from NodePing's panel so it never passes through the conversation, and /nodeping status to check it. Then run /nodeping -- <instruction> with what you want done, or let the agent use it for a matching NodePing task.

postmark

Inspect and change email at Postmark on your behalf: servers and their message streams, domains and their DKIM and Return-Path records, sender signatures, templates, suppressions, bounces, delivery statistics, message search and webhooks, and a send where you ask for one. Every change is read first and verified after; a deletion or a real send happens only where you authorized that exact operation, and a send is shown in full first. DNS records are reported for cloudns to set rather than set here.

Run /postmark setup account once to store the account token, copied in Postmark and read from the clipboard so it never enters the conversation, then /postmark setup server <name> for each server, whose token is fetched from Postmark with the account token, and /postmark status to check them. Then run /postmark -- <request>, or let the agent use it for a matching Postmark task.

Features

Besides skills, the collection ships features: catalog entries that install nothing a harness loads. /kntnt select lists them as a second group under the skills, and a feature's row says what it writes and where before you check it. They apply to the machine rather than to a project, so --project offers none.

session-cleanup

Leaves the machine as the session found it. It installs two things that only work together: a block in each harness's global instruction file asking the agent to record what it starts, and a session-lifecycle hook that stops exactly what was recorded. It kills only what a manifest names, and only while the recorded start time still matches, so a reused process id names something else and is left alone; it deletes only paths under a temp directory. It sweeps at session start as well as at session end, which covers a crash or a hard kill. A start preserves its own launcher's recorded work and every manifest whose Harness process still matches its recorded start time, regardless of age. Unknown ownership waits for a day; OpenCode shell recordings remain owned by its shared server until that process exits. Every action goes to ~/.kntnt/session-cleanup/cleanup.log, including a session that recorded nothing.

Serves Claude Code, Codex, and OpenCode.

statusline

A two-line Claude Code status line: path, worktree marker, branch, working-tree flags and any git operation in progress on the first; model, reasoning effort, context usage and the subscription windows on the second. It reads what the harness gives it plus one git status, calls no network service and reads no credential. Out of that same payload it writes this machine's weekly subscription window to ~/.kntnt/model-selector/quota.json, which is what arms model-selector's quota guard for the Claude channel; disabling this Feature disarms it.

statusLine holds one command rather than a list, so where it already runs something that is not this collection's, the row names that command and asks whether to replace it before anything is written — the same confirmation --yes answers. Nothing is kept of what is replaced. Serves Claude Code.

Dependencies

Every skill requires uv and the manager: the manager ships the engine that reads a skill's invocation, and uv runs it.

hetzner can prepare deployment files without remote tools; Cloud operations additionally need hcloud, network access, and a project token, setup needs ssh-keygen and a clipboard tool, and host operations need OpenSSH and server access.

nodeping needs network access and a NodePing API token, which /nodeping setup stores from the clipboard in ~/.kntnt/nodeping/credentials.json; the token is the whole account's, since NodePing issues no narrower one.

cloudns needs network access and a ClouDNS API sub-user, which /cloudns setup makes the credential for; its setup also needs a clipboard tool, such as pbcopy on macOS or wl-copy, xclip or xsel on Linux.

postmark needs network access and Postmark tokens for anything it does at Postmark: the account token for servers, domains, sender signatures and data removals, and a server token for each server it sends from or manages. setup stores them in ~/.kntnt/postmark/credentials.json: the account token through the clipboard, and a server token fetched from Postmark with the account token where that is stored, or through the clipboard where it is not.

Git workflows also require git; ticket workflows require gh; rename-invoices requires Poppler's pdftotext; mirror requires agent-browser, which fetches in a real browser what plain HTTP cannot, installed with brew install agent-browser and then agent-browser install. release can finish without gh, but then skips the GitHub release.

push requires commit; release requires push; delegation and orchestrate require model-selector.

Orchestrate and ready for agent check require a harness that can spawn subagents; delegation works in any harness, but the mode it turns on delegates only where one can. Select shows skill and harness requirements before enablement.

Contributing and license

Bug fixes, corrections, and clarifications are welcome. Discuss features and behavior changes before opening a pull request; see CONTRIBUTING.md for the workflow and verification commands.

Kntnt Skills is licensed under the Apache License 2.0.

About

AI Agent Skills Collection by Kntnt Sweden AB

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages