Taskless CLI
Corrections you give your agent turn into rule files in the repository and run with taskless check locally and in CI.
- 179 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The installer writes files into agent directories and the repository, and AI rule generation and the GitHub integration call the external Taskless service.
Install
- Works in
Manual install
npx @taskless/cliThe first command of the Get started section. Detects agent tools in the repository and installs the skill.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The installer writes files into agent directories and the repository, and AI rule generation and the GitHub integration call the external Taskless service.
This is third-party code. Review the repository files before installing.
What it does
Taskless records the corrections a developer makes to the agent's work as rules: plain files in the repository executed by ast-grep for code, Vale for prose or a runtime check. The `npx @taskless/cli` command finds agent directories in a project (`.claude/`, `.cursor/`, `.opencode/`, `.agents/`) and installs the Taskless skill into them. Then, on request, the agent analyzes the code and history, proposes rule candidates and writes the chosen ones from a plain-language description. The `taskless check` command shows matches with file, line, severity and message and exits with code `1` on an error, so it fits CI. The skill acts as a router: for instructions it calls `taskless agent <topic>` commands, and the CLI version is pinned in `.taskless/taskless.json`.
Who it is for. Teams whose agent repeats the same mistakes in code and whose developers are tired of explaining them again in every session.
Good fit when
- The agent calls `fetch()` again without error handling and that has to be banned for every session.
- Project rules lived in chats and prompts and are now moved into repository files.
- Automated CI checks are wanted instead of manual remarks in pull requests.
- Prose and documentation style is checked with Vale rules next to the code.
- The same rules are needed in Claude Code, Cursor and OpenCode.
Not a fit when
- The repository has no agent directories, so there is nowhere to install the skill.
- Type or logic checks are needed that ast-grep and Vale patterns cannot express.
- The team forbids sending code to external services, while AI rule generation runs through a Taskless account.
Example request
Create a Taskless rule that catches direct `fetch()` calls without error handling, then run `taskless check` across the project.Limitations
The installer pins the CLI version in `.taskless/taskless.json` and writes a launcher, `./.taskless/bin/cli.mjs`: commands run through it, and any other CLI version refuses to run in this project. Rules are created and checked locally without an account, but AI-assisted rule generation and the GitHub integration need a free Taskless account, and the agent announces a service call beforehand. The nightly build `@taskless/cli-nightly` replaces the `taskless` binary, so install either it or the release. Vale rules run on bundled binaries for six platforms.
How to disable. Delete the `.taskless/` directory and the Taskless skill stubs in agent directories (for example `.claude/skills/taskless`), then remove the `taskless check` call from CI. The rule files can stay as ordinary ast-grep and Vale configurations.
FAQ
How do I install Taskless in Claude Code or Cursor?
Run `npx @taskless/cli` in a repository that has an agent directory: the installer detects `.claude/`, `.cursor/`, `.opencode/` or `.agents/` and installs the skill into each. `pnpm dlx`, `bun x` and `yarn dlx` work too.
Is a Taskless account required?
No, not for creating rules and running checks. A free account adds rule generation with validation and tests and a GitHub integration where pull request comments become rules.
How do I run a check and connect it to CI?
With `./.taskless/bin/cli.mjs check`. It prints file, line, severity and message and returns code `1` when errors are found, and the agent can be asked to add Taskless to CI.
What executes the rules?
Three mechanisms: ast-grep for patterns in the code syntax tree, Vale for checking prose, and a runtime check. Vale binaries ship in the `@taskless/vale-*` packages for macOS, Linux and Windows.
How do I try unreleased changes?
Through `npx @taskless/cli-nightly@latest --version`. The nightly build is published from the `main` branch but replaces the release, because both name their binary `taskless`.
Discussion
No questions or reviews yet.
Related
CLI toolsA Playwright and TypeScript project template with rules and 17 skills so Claude Code, Codex and Cursor write tests to a standard
Reviews the git diff and the conversation with the agent: catches bugs and gaps between your request and the agent's result. CLI, skill, GitHub Action
A local debugger for TypeScript agents: run step trees, CI trajectory checks and portable evidence bundles, with no account.
Hooks for Claude Code and Codex CLI keep a ledger of agent actions and refuse a "done" claim until a check has passed.
A 0 to 10 score for CLAUDE.md and AGENTS.md: Reporails finds vague rules, repeats and broken imports
Qlty CLI reports duplicate and complex code before refactoring; automatic formatting runs as a separate action.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| Taskless CLI (this card) | no | 179 | |
| ast-grep | no | 16,467 | the code search and rewrite tool over the syntax tree itself; Taskless builds rules on top of it from agent corrections |
| Semgrep Skills | yes | 340 | skills for Semgrep; Taskless builds its own rules from corrections and runs them with `taskless check` |
README in short
The repository joins three parts: the `@taskless/cli` CLI, packages with Vale binaries and the canonical Taskless skill. Releases go out through Changesets with OIDC provenance, and the agent recipes live in `packages/cli/src/agent/`.