Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tend banner

tend

7 skills scan repo, fix 1 issue, verify, stop. No commit, no CI minutes.

License: MIT skills.sh

Local, on-demand maintenance skills for SvelteKit + TypeScript repos. Each skill finds the single highest-priority issue in its domain, fixes it, verifies the fix, and leaves the diff in your working tree for review. No branches, no PRs, no CI minutes spent.

These skills follow the Agent Skills specification so they can be used by any skills-compatible agent.

Installation

npx skills

npx skills add robcsaszar/tend

Marketplace

/plugin marketplace add robcsaszar/tend
/plugin install robcsaszar-tend@tend

Manually

Copy the skills/ directory into your project's .claude/skills/, or a specific skill folder for a single one. See "Installing a single skill" below.

First run: tend-onboard

Run tend-onboard once per repo before the others. It detects your stack (SvelteKit version, which of the 5 capability modules apply, existing off-limits conventions) and writes .claude/tend/config.yaml, which every other skill reads at Phase 0. Skipping this step isn't an error. Every skill runs at a conservative core tier with no config present, but module-specific checks (auth, realtime, data, validation, feature-flags) only activate once onboarding has run.

Re-run tend-onboard after a significant dependency or stack change; module activation is detected once at onboard time, not on every scan.

Usage

Every skill in this pack is invoked explicitly, never automatically. Run /tend-onboard, /tend-security, /tend-perf, and so on by name. This is deliberate: a full pass is running each skill in turn yourself, not an unattended sweep. See AGENTS.md for why. For scheduled runs, don't loosen the skills — opt into the external wrapper that tend-onboard offers to install (see "Unattended use" below).

Skills

Skill Description
tend-onboard Detects your stack and writes .claude/tend/config.yaml: run this first
tend-security Finds and fixes one exploitable security issue per run: XSS, secrets, authn/authz, CSP, plus opt-in module packs (auth, validation, realtime, data, feature-flags)
tend-perf Finds one performance fix per run that's mechanically provable from code inspection alone: no profiling, no guessing
tend-refactor Dead code and duplication removal, type-safety tightening, and component/markup extraction: one atomic change per run
tend-a11y Accessibility and copy-tone checks: semantic markup, ARIA, async-loading and destructive-action states, tone consistency
tend-tests Finds untested functions matching your repo's existing dependency-injection/mocking convention and writes the missing test
tend-docs Bidirectional doc-vs-code drift audit. Dogfood-only: shipped in the pack, tuned for this project's own use rather than broad genericness

Installing a single skill

npx skills add robcsaszar/tend --skill tend-security

Or manually, copy just that skill's directory:

cp -r skills/tend-security /path/to/project/.claude/skills/

Design

Every skill shares one shape: load config → triage → scan (stop at the first real hit) → fix (one atomic, verified change) → present the diff and stop. None of these skills commit or open a PR. You review and commit yourself. See each skill's SKILL.md for its full phase breakdown, and tend-onboard/references/config-schema.md for the config file this pack shares.

Known unverified item: whether npx skills add copies a skill's full folder (references/, scripts/) or only SKILL.md. If you install a skill and its reference files or validator script are missing, install manually instead (see above) until this is confirmed.

Unattended use

The skills never commit — that stays true. For scheduled runs there is an external wrapper: a GitHub Actions workflow template shipped inside the onboarding skill at skills/tend-onboard/assets/tend-sweep.yml. During /tend-onboard you're asked once whether you want it (default: no); on a yes, onboarding writes it to .github/workflows/tend-sweep.yml with your chosen cadence, and you commit it yourself. If you skipped onboarding, copy the asset there manually.

On each scheduled run the workflow invokes exactly one skill — as the same /tend-* slash command you'd type yourself — and if the skill leaves a diff, the workflow (a deterministic shell step, not the skill and not a model) commits it to a tend/<skill>-<date> branch and opens a labeled PR. The skill session's tool allowlist in the workflow contains no git commit, git push, or gh, so "stop at the diff" is enforced mechanically, not requested politely.

This is not a return to the unattended fleet this pack was built to replace. Backpressure is designed in:

  • Rotation, not breadth — one skill per run, one fix per run, cycling security → perf → refactor → a11y → tests by advancing past the most recent tend PR (so any cadence works). tend-docs is manual-dispatch only; tend-onboard never runs unattended.
  • Open-PR cap — before Claude ever starts, a token-free preflight counts open tend-labeled PRs; at the cap (default 2, repo variable TEND_PR_CAP) the run exits. An unreviewed backlog halts the machine.
  • Per-skill duplicate guard — while a tend/<skill>-* PR is open, that skill doesn't run again.
  • Humans merge — the workflow does nothing after opening the PR.

Setup beyond the file itself: an ANTHROPIC_API_KEY (or CLAUDE_CODE_OAUTH_TOKEN) repo secret, and /tend-onboard's .claude/tend/config.yaml committed so sweeps run sharpened rather than core-tier. Note: PRs opened with the default GITHUB_TOKEN won't trigger your own PR CI — see the template header for the PAT workaround.

Safety

tend-onboard, tend-security, tend-tests, and tend-refactor ship small validator scripts. Read SAFETY.md for what each one does.

License

MIT © Rob Csaszar

About

Local, on-demand maintenance skills for SvelteKit + TypeScript repos — security, performance, refactoring, accessibility, and test coverage

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages