Skip to content

taskless/skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

376 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taskless Skills

A skills repository for agentic workflows, built for Claude Code and other Agent capable systems.

Includes a CLI that works with agentic systems (and humans too) at @taskless/cli.

Structure

skills/
  taskless/SKILL.md                # Single consolidated router skill
commands/
  tskl/tskl.md                     # Single /tskl router command
packages/
  cli/                             # @taskless/cli — recipes live in cli/src/help/
scripts/
  sync-skill-versions.ts           # Syncs metadata.version to CLI version
.claude-plugin/                    # Claude Code Plugin Marketplace manifest

Skill

Starting in v0.7, Taskless ships a single consolidated skill (taskless) plus a single /tskl slash command. The skill body is a small router; per-task instructions live behind npx @taskless/cli help <topic> and are fetched on demand.

Skill Command Description
taskless /tskl <ask> Router for any Taskless action (create rule, improve,
delete, check, auth, CI). Fetches the canonical recipe
for the user's intent and follows it.

Available taskless help topics: rule create, rule improve, rule delete, check, auth, ci, info, init, update. Append --anonymous for the local-only flow on rule create/improve.

CLI

The @taskless/cli package provides a CLI agent for Taskless workflows. It's recommended to always call the latest tag unless you know you need a specific version:

pnpm dlx @taskless/cli@latest info
npx @taskless/cli@latest info

Local development

The CLI bakes its own invocation string into the skill, command, and recipe content it installs. Three build targets pick that string, all driven by the TASKLESS_BUILD_TARGET env var via Vite define (same source files, no edits):

Each target also emits to its own directory so the three never overwrite one another — prod → dist/, dev → dist-dev/, self → dist-self/ (all gitignored):

Command Output dir Baked invocation Use for
pnpm build dist/ npx @taskless/cli Production / published builds (default).
pnpm build:dev dist-dev/ node <abs>/packages/cli/dist-dev/index.js Validating this build from another repo (absolute path resolves anywhere).
pnpm build:self dist-self/ node packages/cli/dist-self/index.js Dogfooding in this repo (path is repo-root-relative; run the CLI from the root).

pnpm build:self builds the CLI with the relative invocation and then runs taskless init --no-interactive to install into this repo — so .claude gets real reference stubs that delegate to the canonical .taskless/ content, exactly like any other install. (This replaces the former raw-symlink link-skills step, so local dogfooding always matches a true install.)

The dev/self invocations are local paths and must never be published — only pnpm build (or pnpm package) produces a release artifact.

Releasing taskless/skills

Releases use Changesets with Turborepo for orchestration.

Release process

Start from a clean repo (no uncommitted changes), then:

pnpm bump               # Bump versions and sync skill metadata
pnpm build              # Build CLI and generate commands
pnpm test               # Run all tests, confirm no errors
git add -A              # Stage all changes
git commit -m "chore: Releases vx.y.z"  # Commit with new version number
git push origin main    # Push the release commit
pnpm release            # Dry run — prints publish command when ready
pnpm release:production # Publish to npm (prompts for 2FA OTP)

After publishing, tag the release commit so the published version is traceable in git history:

git tag -s vx.y.z -m "Release vx.y.z"  # Signed tag on the release commit
git push origin vx.y.z

Tagging started at v0.9.0; earlier releases were not tagged.

Adding a new topic recipe

In v0.7+, new agent-facing instructions are added as recipes, not skills. To add a recipe:

  1. Create packages/cli/src/help/<topic>.txt following the canonical template (Goal / Preconditions / Steps / Input schema / Errors / See Also).
  2. Use {{CLI_VERSION}} and {{INPUT_SCHEMA}} placeholders for runtime interpolation.
  3. For topics with a substantively different local-only flow, add <topic>.anonymous.txt. The help command's variant lookup is automatic.
  4. Update the topic table in skills/taskless/SKILL.md and commands/tskl/tskl.md so agents can discover the new topic.

Distribution channels

  • taskless init — CLI installs the consolidated skill to .claude/skills/taskless/ and the command to .claude/commands/tskl/
  • Claude Code Plugin Marketplace.claude-plugin/marketplace.json and plugin.json
  • Vercel Skills CLInpx skills add discovers skills from skills/ directory

About

Taskless CLI and Agent Skills

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors