Skip to content

docs(app-control): say where features/ sits for a command-file control skill #10085

Open

Description

@kyle-sexton

Context

/app-control:drive accepts a control skill that is a command file (.claude/commands/control-<app>.md, a skills-folder plugin's commands/, or a plugin's commands/), and takes the file's folder as its base directory, where it resolves features/<id>/README.md. The control-skill contract (plugins/app-control/reference/control-skill.md, Hub section) defines only the SKILL.md folder layout, so for a command-file control skill it does not say where features/ sits; a commands folder holding several commands would share one features/ tree. The fresh-context verifier found this on PR #9615.

Proposed work

  • Decide where a command-file control skill keeps its feature files (for example a sibling folder named after the command, or the commands folder itself) and state it in the contract's Hub section.
  • Align drive step 8 and /app-control:map with that decision.

Acceptance criteria

  • reference/control-skill.md states where features/ sits for a command-file control skill.
  • Drive step 8 resolves a feature for a command-file control skill to that location, shown by an eval case.

References

Activity

  1. added theissue type on Oct 25, 2026
  2. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 25, 2026
  3. github-actions commented on Oct 25, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Low
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Decision recorded. The owner answered in the Refinement session (2026-10-25), deciding the open items below on the facts:

    go with whatever the facts/data/metrics + /discovery:research says and ensure we're aligned with SOLID, DRY/SSOT principles

    [quote truncated; the full decision is at the link]

    #10085 (comment)

    The decision settles every open question: features sit in a sibling folder named after the command (commands/control-<app>/features/<id>/README.md), the hub and index live in the command file, and command-file support is already merged. Remaining work: state this in the contract's Hub section, align drive step 8 with an eval case, and have /app-control:map write and refresh there.

    Automated triage, applied by the lanes App.

  4. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    The latest triage verdict holds nothing: the issue is at status: ready.

  5. added
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 25, 2026
  6. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.

    Intended outcome: The contract's Hub section states that a command-file control skill keeps its feature files in a sibling folder named after the command, and drive and map resolve features there, shown by a drive eval case.

    Dependencies

    • Command-file control skill discovery in drive: the checkout has no mention of commands/ under plugins/app-control, and drive step 1 only looks at .claude/skills/control-*/SKILL.md. The issue says PR #​9615 added it, but that PR is not in the candidates and may be unmerged. Related open issue: #​9580 (plugin-shipped control skills).

    Related work

    Open questions

    1. Where does a command-file control skill keep its features/ tree?
      RECOMMENDED: A sibling folder named after the command, e.g. commands/control-<app>/features/<id>/README.md, next to commands/control-<app>.md. Basis: judgment: a commands folder can hold several commands, so a shared features/ tree would collide, and a per-command folder mirrors the SKILL.md layout. plugins/app-control/reference/control-skill.md:19 only defines the SKILL.md folder layout.
    2. Is command-file control skill support already merged? The issue cites PR #​9615, but the checkout's drive Find-the-control-skill steps (plugins/app-control/skills/drive/SKILL.md:42-52) look only at .claude/skills/control-*/SKILL.md, and the issue's 'step 8' does not match the step numbers there.
      RECOMMENDED: Treat this issue as waiting on whichever change adds command-file discovery to drive. Then target the features/ resolution step (currently step 4, SKILL.md:50) in the criteria. Basis: plugins/app-control/skills/drive/SKILL.md:42
    3. Where does the index line and map's create and refresh output go for a command-file skill, since the Hub section puts the index below the sections in SKILL.md (control-skill.md:31)?
      RECOMMENDED: Put the hub (sections and index) in the command file itself and keep the features/ links relative to the sibling folder. Basis: plugins/app-control/reference/control-skill.md:31

    Sources read

    • /home/runner/work/_temp/refine-data/context.json: issue 10085 asks for a features/ location for command-file control skills; no owner decision recorded; intake recommends a sibling folder.
    • plugins/app-control/reference/control-skill.md:17-39: the Hub section defines only .claude/skills/control-<app>/SKILL.md and an index line features/<module>/<feature>/README.md.
    • plugins/app-control/skills/drive/SKILL.md:42-52: control skill discovery covers only .claude/skills/control-*/SKILL.md; features resolve as features/<id>/README.md then legacy features/<id>.md.
    • plugins/app-control (grep): no mention of commands/ anywhere, so command-file support is not in this checkout.

    Automated refinement by the lanes App. Answer with a comment whose first line is **Decision recorded.**.

  7. kyle-sexton commented on Oct 26, 2026

    @kyle-sexton
    MemberAuthor

    Decision recorded. The owner answered in the Refinement session (2026-10-25), deciding the open items below on the facts:

    go with whatever the facts/data/metrics + /discovery:research says and ensure we're aligned with SOLID, DRY/SSOT principles

    I should only ever be in the loop ONLY when necessary (intent/vision changed, something came up during implementation that impacts trajectory/alignment, OR a high security risk) - I've covered this all before

    Question asked: Keep a command-file control skill's features in a sibling folder named after the command, commands/control-<app>/features/<id>/README.md?

    No owner decision record is on this issue. Open items come from intake's refinement: #10085 (comment)

    1. Where does a command-file control skill keep its features/ tree?
      Decided: A sibling folder named after the command, commands/control-<app>/features/<id>/README.md, next to commands/control-<app>.md. A commands folder can hold several commands, so one shared features/ tree would collide, and a per-command folder mirrors the SKILL.md layout. Basis: judgment; origin/main plugins/app-control/reference/control-skill.md:23 defines only the SKILL.md folder. Intake's answer kept.
    2. Is command-file support merged, and which drive step resolves features?
      Decided: It is merged: drive step 1 globs .claude/skills/*/commands/**/*.md and .claude/commands/**/*.md, step 2 a plugin's commands/**/*.md, and step 8 resolves features/<id>/README.md under the chosen skill's base directory, as the body says. Nothing to wait on. Basis: plugins/app-control/skills/drive/SKILL.md:44-55,85-88. Intake's answer corrected: its checkout lacked the support and its step numbers.
    3. Where do the hub and index go for a command-file skill, and where does /app-control:map write?
      Decided: The hub sections and index live in the command file itself, with index links relative to the sibling folder; map create and refresh write there. Basis: control-skill.md:21-45 (hub sections, then the index). Intake's answer kept.

    Acceptance criteria:

    • reference/control-skill.md states where features/ sits for a command-file control skill: a sibling folder named after the command, commands/control-<app>/features/<id>/README.md. (Amends the body's first criterion with the answer.)
    • Drive step 8 resolves a feature for a command-file control skill to that location, shown by an eval case. (Body criterion, unchanged.)
    • /app-control:map writes and refreshes a command-file control skill's hub and index in the command file and its features in that sibling folder.
  8. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    admission-deferredReady for the issue lane; work-unblock admits it when queued work is under the queued cap
    on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    admission-deferredReady for the issue lane; work-unblock admits it when queued work is under the queued cappriority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions