Skip to content

feat(skill): Engage routing when a linter is named#27

Open
thecodedrift wants to merge 5 commits into
feat/local-rule-helpfrom
feat/local-rule-skill
Open

feat(skill): Engage routing when a linter is named#27
thecodedrift wants to merge 5 commits into
feat/local-rule-helpfrom
feat/local-rule-skill

Conversation

@thecodedrift

@thecodedrift thecodedrift commented Jun 11, 2026

Copy link
Copy Markdown
Member

Flip the skill's posture toward the routing layer. Previously, naming a linter (eslint, ruff, biome, ast-grep) suppressed the skill to a one-line offer. Now it ENGAGES the routing flow via taskless help route, because Taskless can help author the rule in that tool's own dialect.

Changes to skills/taskless/SKILL.md:

  • Description: the named-tool clause now says naming a tool engages routing, not suppresses it. Trigger wording was tightened rather than appended; the field measures 835/1024 chars against the Agent Skills ceiling.
  • Body: the "Quiet suggestion" suppression section is gone. Rule-authoring requests route through taskless help route (the body forbids fetching rule create directly and adds no linter knowledge — the skill stays a thin router).
  • Install gate: relaxed so the existing path (which only reads the repo) isn't blocked when .taskless/ is absent; static/remote still offer install.

The skill metadata.version is build-locked equal to the package version (enforced by assertSkillVersions), so this ships a minor changeset to drive the bump in lockstep rather than hand-editing a mismatch.

Stacked on #26. The validation/eval/smoke pass lands last.

Refs TSKL Runtime Rules


Stack generated by Git Town

Reverse the named-tool suppression: naming a linter (eslint, ruff, biome,
ast-grep) now ENGAGES the skill's routing flow via `taskless help route`
instead of quieting it. Replace the "Quiet suggestion" section with a
route-through-route body that forbids fetching `rule create` directly and
adds no linter knowledge, and relax the install gate so the `existing`
path (which only reads the repo) is not blocked when `.taskless/` is
absent. Description measures 835/1024 chars. Skill version is build-locked
to the package version, so a minor changeset drives the bump rather than a
hand-edited mismatch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the consolidated taskless agent skill to treat “named linter” rule-authoring requests as an explicit entry into Taskless’s new local-first routing flow (routeexisting/static/remote), removing the previous suppression/quiet-offer behavior.

Changes:

  • Update skills/taskless/SKILL.md trigger + body so rule-authoring always starts at npx @taskless/cli help route, even when a specific linter is named; remove the “Quiet suggestion” suppression path.
  • Relax the install gate so route/existing (repo-reading paths) are not blocked by the absence of .taskless/, while still offering install when routing lands on static/remote.
  • Add a changeset intended to drive a minor version bump for this behavior change.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
skills/taskless/SKILL.md Switch rule-authoring posture to always route via help route (including named linters) and remove suppression path.
openspec/changes/local-rule-routing/tasks.md Mark the skill-posture tasks complete and note the intended release/versioning approach.
.changeset/local-rule-routing.md Add a minor changeset describing the local-first routing layer and updated skill behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .changeset/local-rule-routing.md
Comment thread openspec/changes/local-rule-routing/tasks.md Outdated
Comment thread skills/taskless/SKILL.md Outdated
thecodedrift and others added 3 commits June 11, 2026 17:36
* feat/local-rule-help:
  docs(cli): Align route recipe with the three-state contract
  docs(cli): Show detect output shape in the route recipe
  docs(openspec): Clarify detect output schema is internal, not published
  docs(openspec): Address review feedback on local-rule-routing contract
PR #27 review:
- The changeset targeted the private, unpublished root `@taskless/skills`
  package, which produces no release and is overwritten by
  sync-skill-versions. Target `@taskless/cli` — the published package and
  the version source of truth that skill metadata.version is locked to.
- Add `stylelint` to the skill body's example tool list so it matches the
  description's list.
- Update the tasks.md 4.3 note to describe the real release mechanism
  (@taskless/cli version drives the skill version via sync-skill-versions).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat/local-rule-help:
  docs(cli): Address review on routing recipes
  fix(cli): Harden detect against malformed manifests and false positives
* feat/local-rule-help:
  ci(openspec): Skip the archive check on non-tip stacked PRs (#31)
  docs(openspec): Clarify detect output schema is internal, not published
  docs(openspec): Address review feedback on local-rule-routing contract
  docs(openspec): Propose local-rule-routing change
  chore(skill): Refine the stacked-PR archive-check guidance
  chore(skill): Scope iterate-pr archive check to the stack tip
  chore(config): Allow git-town in project settings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants