Commands
Ask your agent in plain words, or run the commands yourself. qualitylayer help (ql for short) lists them.
--json for machine-readable output and --task <slug> to pick an open task.Ask in plain words
Name QualityLayer or QL in a plain request; your agent picks the skill.
| Example request | What it does |
|---|---|
| “Using QualityLayer, plan a CSV export” | Starts a task at Plan |
| “Using QL, implement the approved plan for task retry-webhooks” | Builds an approved Plan (Implement) |
| “Using QL, review task retry-webhooks” | Reviews the result or follows pull request review threads |
| “Open the current QualityLayer artifact in my browser at Billing” | Opens that artifact page and section |
Existing plans
qualitylayer task start "<request>" --from-plan ./plan.md starts at Plan from an existing Markdown or plain-text plan. Use - for standard input. The original stays unchanged (Plan).
From a ticket
qualitylayer task start --from <link> starts at Plan from a GitHub or GitLab issue or pull request, a Jira issue or a Confluence page, and the task keeps the link. QualityLayer reads GitHub and GitLab with your own gh or glab: the ticket's title and text become the request, and images and attachments stay links. It signs in to nothing itself, so your agent reads a Jira or Confluence link with its own tools. In the App, paste the link into New task.
qualitylayer gate open plan --via github, or Pull request in the App's header, pushes the Plan on its own branch and opens GitHub's compare page with the title and description filled in. You create the pull request there. An approving review on it, by someone else with write access, approves the Plan, and every comment comes back to the agent as feedback. If you approve the Plan in QualityLayer instead, the pull request gets a note, closes and its branch is deleted.
qualitylayer gate open final --via github, or Pull request on Verify, pushes the task's branch and opens GitHub's compare page with the Verify page as the description. An approving review there, by someone else with write access, approves the change, and its comments go to the agents as review feedback. Pull requests for approval work with GitHub only.
Chat
“Using QualityLayer, chat about retrying failed webhooks” starts a Chat with a supported coding agent.
| Command | What it does |
|---|---|
chat plan save --file <markdown> | Save chat-plan.md (--text instead of a file) |
chat build [--file <cards>] · --stop <slice> | Start or resume slice helpers, or record one stopped |
chat check [--slice <n>] · chat review | Print validation commands, or brief a fresh reviewer |
chat promote --type feature|bugfix [--from-saved-plan] | Move into the workflow at Plan, from the conversation or the saved plan |
Answer in your agent
Keep a task's questions and approvals in your agent's chat. Only your own picks or words count (In your agent). The value terminal means your agent's chat.
| Command | What it does |
|---|---|
task set answers=terminal|app · approvals=terminal|app | Where you answer and approve for the current task |
settings set answers terminal · settings set approvals terminal | Where tasks you start in your agent answer and approve |
settings set offerWorkflow false | Your agent no longer offers QualityLayer when you ask it to plan |
read 01-plan.md [--lead] · read artifact <name> | Read a document or artifact page as text |
plan export --out <folder> | Export the Plan, its agents' file and pictures; report any picture that could not be made |
Commands by group
Prefix each command with qualitylayer, for example qualitylayer gate open plan.
| Group | Commands |
|---|---|
| Step checks | instructions · instructions add <step> "<line>" · instructions done|skip <step> <n> |
| Automations | automations list · automations add --url <url> | --command "<command>" · automations set|remove|test|log|secret <id> · automations events |
| Tasks | find · tasks · status · task set · task start · task override · task archive|restore · branch new |
| App | app · app status · app restart · agents list|check|repair |
| Setup | doctor [--repair] · settings get|set · update · `uninstall [--purge |
| Settings | settings set <key> <value> changes any setting except the permission mode, the program an agent or terminal starts and its arguments, and who may type; those stay in the App's Settings |
| Usage | usage import cursor <file.csv> --from <ISO time> --to <ISO time> [--account <local label>]: import a local CSV; import again to add later usage |
Workflow commands your agent runs
| Group | Commands |
|---|---|
| Workflow | next (reads only) · brief plan|implement|verify · task start · plan draft · gate open plan|final · plan amend · plan export · wait |
| Questions | question ask · question show · question answered · question link |
| Building | build start · build done · check task T<n>|slice <n>|step A<n>|all · commit slice <n>|slices|fix [--commit <hash>] · card T<n> · need "<what. why>" --for T<n> · limit add · progress |
| Checking | verify judge|recheck|fix|keep-red · verdict · verdict run · attest · evidence shot · validate |
| Shipping | ship · pr watch |
Artifacts
| Command | What it does |
|---|---|
artifact new <name> [--wire] [--folder] [--on <artifact>] | Start an artifact, wireframe, multi-page folder, or draft on a lasting artifact |
artifact show|open <name> [--page <page>] [--section <id>] [--browser] | Show the latest version, or open an exact page |
artifact keep <name> [--only-here] | Make a draft a lasting artifact |
artifact list | List local artifacts |
artifact check|shot <name> [--page <page>] · artifact review <name> | Check the HTML, take pictures, or brief a design check |
artifact tokens <name> [--refresh] | Fix values that differ from the project's design file |
artifact library inspect|rename|copy|archive|restore|delete <name> | Manage lasting artifacts |
Artifact edits take --if-match <revision> from artifact inspect or artifact library inspect. artifact shot and artifact check --render need Chrome.
Code health and security scans
Advisory local checks (Code health).
| Command | What it does |
|---|---|
quality check [paths...] [--all] [--duplication] [--fail-on-new] | Check changed and untracked, or named, source |
quality scan [paths... | --since <rev>] [--secrets|--dependencies|--workflows|--code] [--local] | Scan changed or named files for secrets, vulnerable packages, unsafe workflows and risky code |
quality metrics|lint [paths...] | Function metrics, or the project's linters |
quality acknowledge <id> --reason "<evidence>" | Keep a reviewed finding with its reason |
quality status|setup|on|off | Check, repair (also reinstalls the scanners), pause or resume; on Windows, see Setup under antivirus |
Project memory
One local lesson store for the App and your agents (Project memory).
| Command | What it does |
|---|---|
memory overview|list|search <text>|read <id> | Browse lessons; --scope repo|you picks this project or yours. list --sources changed shows lessons whose files changed |
memory store --title <text> --content <text> | Save a lesson; --file, --rests-on and --replaces <id> add context. --about you saves a personal lesson for every repository |
memory confirm|retire <id> [--reason <text>] | Confirm a lesson at the current commit, or retire it. Personal lessons have no commit to confirm against |
memory pin|unpin|restore <id> | Keep a lesson in every session, or restore a retired one |
memory pause|resume · memory sessions on|off | Pause capture, or session lessons |
memory share on|off · memory export | Opt into project Git export, or write eligible records; never commits, pushes or pulls |
memory import | Explicitly import repository records; differs from restoring a retired local lesson |
memory conflicts · memory reconcile <id> --revision <n> --candidate local|<fingerprint> | Inspect conflicting revisions and explicitly reconcile them |
memory mcp · memory import-pilot <file>… | Serve lesson tools over MCP, or import Pilot records |
Machines
Other computers and dev containers you reach over ssh (Machines).
| Command | What it does |
|---|---|
machines add user@host [--name <n>] [--trust SHA256:…] | Pair a computer. It asks for the password hidden when no key of yours works; a script pipes it with --password-stdin, never as an argument |
machines add --container <name> | Pair a running dev container |
machines containers · machines snippet [--port <n>] · machines nearby | Running dev containers, the devcontainer.json lines that give one ssh, and Macs nearby that offer ssh |
machines list · machines status <name> | Your machines, and how one is reached |
machines pair|retry <name> | Pair a machine again, or try one that is down now |
machines trust <name> [--fingerprint …] | Trust a machine's changed host key |
machines rename <name> <new> · machines remove <name> [--release] [--keep-key] | Rename one, or remove it; --release frees its licence, --keep-key leaves QualityLayer's key on it |
Session messaging
To oversee a task, ask your agent to run qualitylayer status --json --task <task> from its checkout. Read the task documents for verification evidence.
| Status field | What it reports |
|---|---|
waiting_on | A human action, agent or helper work, or unknown activity. Native permission requests use reason: agent_permission |
last_decision | Approvals and requested changes |
answer_mode | Where you answer, with its recorded origin |
ql-peer within the work you authorize. You choose the build session and approve the Plan and the finished change.qualitylayer peers list
qualitylayer peers send --to 'cc:<name-or-uuid>' --message-file ./review-request.txt --json
Address cc:, codex:, pi:, opencode:, copilot:, grok:, cursor: or antigravity: plus a name or UUID. peers help lists the reply commands; peers doctor finds a missing session.
GitHub Copilot, Grok, Cursor and Antigravity sessions join the list at their first hook. Messages arrive:
- At once in a waiting App session.
- At turn end or the next prompt while the agent works.
- At the next turn in an idle session.