Add a skill vault-path lint under a new rule id — no hardcoded vault paths in skill bodies #5

Open
opened 2026-07-01 03:21:46 +00:00 by piersdd · 1 comment
piersdd commented 2026-07-01 03:21:46 +00:00 (Migrated from github.com)

Goal. Lint skill bodies + manifests so they carry zero hardcoded vault-path string literals. System folders must resolve through the folder-role indirection; user content through a declared tunable that defaults to a role-resolved value. This mirrors the source-side vault-path discipline at the skill layer.

Decide first (why this is human-gated):

  1. Pick a new rule id. S-SKL-001 is already taken (it lints missing skill contract fields). Choose the next free S-SKL-NNN for this vault-path rule so the two don't collide.
  2. Author the companion convention (the skill vault-path discipline) in the platform convention set, then reference it from the rule. (The convention text is maintained alongside the other platform conventions.)

What to build (after 1 + 2):

  • A scanner rule over skill bodies + manifests that flags hardcoded vault-path literals (e.g. inbox/ingest/space/atlas path prefixes) and requires either a folder-role reference or a tunable defaulting to a role-resolved value.
  • Fixture-tested: positive (a hardcoded path fires) + negative (a role/tunable-resolved skill passes).

Acceptance:

  • The rule fires on a hardcoded vault path and passes a role/tunable-resolved skill.
  • Rule id is distinct from the existing S-SKL-001.
  • npm test green.

Splits into a human decision (rule id + convention) then an agent-implementable lint.

**Goal.** Lint skill bodies + manifests so they carry **zero hardcoded vault-path string literals**. System folders must resolve through the folder-role indirection; user content through a declared tunable that defaults to a role-resolved value. This mirrors the source-side vault-path discipline at the skill layer. **Decide first (why this is human-gated):** 1. **Pick a new rule id.** `S-SKL-001` is already taken (it lints missing skill contract fields). Choose the next free `S-SKL-NNN` for this vault-path rule so the two don't collide. 2. **Author the companion convention** (the skill vault-path discipline) in the platform convention set, then reference it from the rule. (The convention text is maintained alongside the other platform conventions.) **What to build (after 1 + 2):** - A scanner rule over skill bodies + manifests that flags hardcoded vault-path literals (e.g. inbox/ingest/space/atlas path prefixes) and requires either a folder-role reference or a tunable defaulting to a role-resolved value. - Fixture-tested: positive (a hardcoded path fires) + negative (a role/tunable-resolved skill passes). **Acceptance:** - The rule fires on a hardcoded vault path and passes a role/tunable-resolved skill. - Rule id is distinct from the existing `S-SKL-001`. - `npm test` green. _Splits into a human decision (rule id + convention) then an agent-implementable lint._
piersdd commented 2026-07-16 12:18:01 +00:00 (Migrated from github.com)

Decision brief (AI triage, 2026-07-16) — two inputs needed, then this is agent work.

  1. Rule id: repo grep shows only S-SKL-001 exists — next free id is S-SKL-002. Any objection to taking it?
  2. Companion convention: the skill vault-path discipline text (system folders via folder-role indirection; user content via role-defaulted tunables) needs authoring in the platform convention set before the rule can cite it. That's a ~½-page write-up — want me to draft it for your review, or will you author it?

Lean: take S-SKL-002; I draft the convention text as a PR/note for your sign-off; the lint rule then dispatches with the fixture-tested acceptance already in the issue.

**Decision brief (AI triage, 2026-07-16) — two inputs needed, then this is agent work.** 1. **Rule id:** repo grep shows only `S-SKL-001` exists — **next free id is `S-SKL-002`**. Any objection to taking it? 2. **Companion convention:** the skill vault-path discipline text (system folders via folder-role indirection; user content via role-defaulted tunables) needs authoring in the platform convention set before the rule can cite it. That's a ~½-page write-up — want me to draft it for your review, or will you author it? **Lean:** take S-SKL-002; I draft the convention text as a PR/note for your sign-off; the lint rule then dispatches with the fixture-tested acceptance already in the issue.
This discussion has been locked. Commenting is limited to contributors.
No description provided.