Skip to content

docs(skills): tasks plans write scope as repository paths and lint before review - #91

Merged
calvin-archastro merged 1 commit into
mainfrom
docs/tasks-scope-repo-paths
Oct 30, 2026
Merged

calvin-archastro merged 1 commit into
mainfrom
docs/tasks-scope-repo-paths

Conversation

@calvin-archastro

@calvin-archastro calvin-archastro commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Review on ArchCode

Merge order: after ArchAstro/firstlanding#21117 ships in a release. This skill text describes that CLI's behavior: every applicable rule is judged, and not_evaluated shows as one warning per task.

Problem and author intent

archdev tasks graph import and archdev tasks review judge each plan node's brief against the repository's rules (plan.rule-verdicts, Jev). The node's scope drives that check: git pathspecs in scope pick the rules for the touched languages and supply up to 8 KB of repository context. A scope entry that matches no files selects every rule with no context.

The tasks skill:

  • showed "scope": ["Export API"] in its example, a label that matches no files;
  • never mentioned the repository-rule check, its --allow-lint override, or how to read not_evaluated. The firstlanding task that added the check (tsk_69hAt30rUu5VfmR1uFMiR2) listed this skill update as remaining work.

Intent: agents write scope as paths and clear lint errors before opening the review.

What changed

  • Field guidance: scope lists the repository paths the task changes (files, directories, git globs), not a prose label, with the reason.
  • Example: both nodes use path scopes.
  • Section 3, step 5: run tasks graph import --dry-run. Fix errors in the node, or add an Exemplar: line. Pass --allow-lint / allow_lint only with the human's approval. not_evaluated means the model was unavailable and does not block. Use extract run plan.rule-verdicts --plan … --json to see every verdict.
  • Harness copies under plugins/*/skills/tasks/ were regenerated with tools/plugin-gen (npm run build).

Scope: docs/skill only.

Risk

Low. Skill text only. The added commands exist in the released CLI. The new dry-run step adds about 15–25s of model time per plan on a cold run.

User impact

Agents using the tasks skill write path scopes and run the plan lint before handing a plan to the human, so rule violations show up before review instead of at save.

Testing

  • tools/plugin-gen: npm run build regenerated 180 files, npm test passes, npm run check passes ("180 generated files match the catalog").
  • Ran the skill's example plan through archdev --json tasks graph import --dry-run (firstlanding branch build). It parses and lints with the new path scopes. Inside firstlanding it is blocked by that repo's infrastructure-features-have-local-proof-paths rule, which is expected for a generic example.
  • Verified flags against the CLI: tasks graph import --dry-run --allow-lint, extract run plan.rule-verdicts --plan --json; dry-run JSON has a top-level lint list.
  • No end-to-end test applies: this is skill text with no executable path.

🤖 Generated with Claude Code

…fore review

The repository-rule check that tasks graph import and tasks review run
uses each node's scope to pick language rules and read repository
context. The skill's example used a prose label ("Export API"), which
matches no files. The skill also never mentioned the check.

- Field guidance and the example now write scope as repository paths.
- Section 3 adds a dry-run lint step: fix errors in the node, override
  only with the human's approval, read not_evaluated as a model outage,
  and inspect every verdict with extract run plan.rule-verdicts.
- Regenerated harness copies with tools/plugin-gen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@calvin-archastro
calvin-archastro merged commit 023597c into main Oct 30, 2026
20 checks passed
@calvin-archastro
calvin-archastro deleted the docs/tasks-scope-repo-paths branch October 30, 2026 01:45
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.

1 participant