Problem
The Phase 0 triage / refinement / local-ingest workflow introduced under #845 and rebound onto the unified cache under #883 is the canonical way to drain a real-sized backlog without burning the shared GraphQL bucket — but it is currently only discoverable by reading agent-facing skill prose. End users (especially new maintainers) have no documented path from README.md to "here is how to ingest open issues, work them locally, and avoid #976-class GraphQL drains."
This is an adoption blocker: the institutional knowledge exists, but only the agent can reach it.
Evidence
README.md mentions deft-directive-refinement exactly once (Platform Requirements list) with no description, no link, and no workflow guidance. There is no triage:bootstrap / Phase 0 / three-tier mention anywhere in the README.
docs/getting-started.md does not mention triage, refinement, or ingest at all.
docs/CONCEPTS.md and docs/ARCHITECTURE.md do not cover the flow.
commands.md does not surface task triage:* and task cache:fetch-all with user-shaped (verb -> outcome) descriptions.
- The full description of the three-tier model (
.deft-cache/github-issue/ / vbrief/.eval/candidates.jsonl / vbrief/proposed/), the action menu, and the rate-limit-friendly flags (--limit, --state, --batch-size, --delay-ms) lives only inside skills/deft-directive-refinement/SKILL.md, which is written for the agent.
The user-discoverable interface today is effectively the trigger-word list inside AGENTS.md Skill Routing (line 51) -- if a user does not know to say "triage" / "work the cache" / "pre-ingest", the workflow is invisible.
Proposed Remediation
Three small, additive doc surfaces (one PR is sufficient):
-
README.md — add a short "Backlog triage" subsection under the existing "Build With AI" / Quick Start area. Trigger words, one code fence with the scoped first-run command, and a link into docs/getting-started.md.
-
docs/getting-started.md — add a "Working an existing backlog" section explaining:
task triage:bootstrap -- --limit 50 --state open for a scoped first populate.
- The Phase 0 action menu (
accept | reject | defer | needs-ac | mark-duplicate) and where accepted items land (vbrief/proposed/).
- The three-tier model in user vocabulary (cache / audit log / accepted backlog) and why writes flow only through
task triage:accept.
- Why this avoids the shared GraphQL bucket drain (REST-backed cache, batched delays, no live
gh issue view per decision).
-
commands.md — surface task triage:* and task cache:fetch-all with one-line user-facing descriptions (verb -> outcome), not just task names. Cross-link to the getting-started section above.
Acceptance Criteria
Out of Scope
- Restructuring the skill itself (the SKILL.md is the canonical agent-facing source of truth; this issue is purely about exposing the same surface to humans).
- Adding new task verbs or changing the existing
task triage:* CLI surface.
Related
Problem
The Phase 0 triage / refinement / local-ingest workflow introduced under #845 and rebound onto the unified cache under #883 is the canonical way to drain a real-sized backlog without burning the shared GraphQL bucket — but it is currently only discoverable by reading agent-facing skill prose. End users (especially new maintainers) have no documented path from
README.mdto "here is how to ingest open issues, work them locally, and avoid #976-class GraphQL drains."This is an adoption blocker: the institutional knowledge exists, but only the agent can reach it.
Evidence
README.mdmentionsdeft-directive-refinementexactly once (Platform Requirements list) with no description, no link, and no workflow guidance. There is notriage:bootstrap/ Phase 0 / three-tier mention anywhere in the README.docs/getting-started.mddoes not mentiontriage,refinement, oringestat all.docs/CONCEPTS.mdanddocs/ARCHITECTURE.mddo not cover the flow.commands.mddoes not surfacetask triage:*andtask cache:fetch-allwith user-shaped (verb -> outcome) descriptions..deft-cache/github-issue//vbrief/.eval/candidates.jsonl/vbrief/proposed/), the action menu, and the rate-limit-friendly flags (--limit,--state,--batch-size,--delay-ms) lives only insideskills/deft-directive-refinement/SKILL.md, which is written for the agent.The user-discoverable interface today is effectively the trigger-word list inside
AGENTS.mdSkill Routing (line 51) -- if a user does not know to say "triage" / "work the cache" / "pre-ingest", the workflow is invisible.Proposed Remediation
Three small, additive doc surfaces (one PR is sufficient):
README.md— add a short "Backlog triage" subsection under the existing "Build With AI" / Quick Start area. Trigger words, one code fence with the scoped first-run command, and a link intodocs/getting-started.md.docs/getting-started.md— add a "Working an existing backlog" section explaining:task triage:bootstrap -- --limit 50 --state openfor a scoped first populate.accept | reject | defer | needs-ac | mark-duplicate) and where accepted items land (vbrief/proposed/).task triage:accept.gh issue viewper decision).commands.md— surfacetask triage:*andtask cache:fetch-allwith one-line user-facing descriptions (verb -> outcome), not just task names. Cross-link to the getting-started section above.Acceptance Criteria
README.mdQuick Start area links to the new getting-started section and names the trigger words.docs/getting-started.mdcontains a "Working an existing backlog" section covering the bullets above.commands.mdliststask triage:bootstrap,task triage:accept|reject|defer|needs-ac|mark-duplicate,task triage:bulk-*,task triage:refresh-active, andtask cache:fetch-all/task cache:getwith user-facing descriptions.skills/deft-directive-refinement/SKILL.md(no drift between agent-facing and user-facing copy).Out of Scope
task triage:*CLI surface.Related
skills/deft-directive-refinement/SKILL.md— canonical agent-facing description of the flow