Add hq-defer: park a thought without moving the work off course #107

Merged
jschoubben merged 2 commits from meta/hq-defer-skill into main 2026-09-24 16:39:22 +00:00
Owner

A thought was raised mid-task that needed remembering but not working on, and there was no mechanism for it — so it got recorded by hand. This makes that repeatable.

Why it records to memory, not the repository

Deliberate, and the reasoning is the substance of the skill:

  • A parked thought has no number, owner or status. Giving it one asserts triage that deferring says has not happened.
  • A shared "deferred"/"someday" document would be a central status file, which AGENTS.md forbids. Status lives in frontmatter on real records; a parked thought has no real record yet.
  • A repository write means a branch, a commit and an MR — the drift the skill exists to prevent.

Shape

It wraps no playbook, because deferring precedes the development cycle rather than being part of it. Every other hq-* skill defers to a playbook as authoritative; this one says plainly that there isn't one, and why that's correct.

It does record which playbook a thought would need if it graduates — 03 if a stated behaviour doesn't happen, 01 if it's still an idea — and that "undetermined" is the honest answer when the evidence doesn't say. Deciding prematurely is how a parked thought acquires a false status.

The stop condition is the point

At most two lines, then return to whatever was in progress. No summarising the thought back, no proposing a plan, no asking which playbook it belongs to, nothing opened. A defer skill that triggers a discussion has failed at its one job.

Checks

cycle:   263 documents checked, the chain holds
records: 96 decision records checked, all checks passed
index:   current

Relative links resolve. Disclosure scan clean — no nodes, domains, absolute paths or usernames, which matters because the memory-file template tells the agent to keep parked thoughts quotable into this public repo.

Note the skill is already live in-session (the harness picked it up on push), so it can be tried before this merges.

A thought was raised mid-task that needed remembering but not working on, and there was no mechanism for it — so it got recorded by hand. This makes that repeatable. ## Why it records to memory, not the repository Deliberate, and the reasoning is the substance of the skill: - A parked thought has **no number, owner or status**. Giving it one asserts triage that deferring says has not happened. - A shared "deferred"/"someday" document would be a **central status file**, which `AGENTS.md` forbids. Status lives in frontmatter on real records; a parked thought has no real record yet. - A repository write means a branch, a commit and an MR — **the drift the skill exists to prevent.** ## Shape It wraps **no playbook**, because deferring precedes the development cycle rather than being part of it. Every other `hq-*` skill defers to a playbook as authoritative; this one says plainly that there isn't one, and why that's correct. It does record which playbook a thought would need *if* it graduates — [03](00-META/process/03-issues.md) if a stated behaviour doesn't happen, [01](00-META/process/01-research.md) if it's still an idea — and that **"undetermined" is the honest answer** when the evidence doesn't say. Deciding prematurely is how a parked thought acquires a false status. ## The stop condition is the point At most two lines, then return to whatever was in progress. No summarising the thought back, no proposing a plan, no asking which playbook it belongs to, nothing opened. A defer skill that triggers a discussion has failed at its one job. ## Checks ``` cycle: 263 documents checked, the chain holds records: 96 decision records checked, all checks passed index: current ``` Relative links resolve. Disclosure scan clean — no nodes, domains, absolute paths or usernames, which matters because the memory-file template tells the agent to keep parked thoughts quotable into this public repo. Note the skill is already live in-session (the harness picked it up on push), so it can be tried before this merges.
jschoubben added 1 commit 2026-09-24 14:40:42 +00:00
A thought raised mid-task needed remembering but not working on, and there was no
mechanism for that — so it was recorded by hand. This is that, made repeatable.

Records to Claude's persistent memory rather than the repository, deliberately. A parked
thought has no number, owner or status: giving it one asserts triage that deferring says
has not happened. A shared "deferred" document would be a central status file, which
AGENTS.md forbids. And a repository write means a branch, a commit and an MR — the drift
the skill exists to prevent.

Wraps no playbook, because deferring precedes the development cycle rather than being part
of it. It does say which playbook a thought would need if it graduates, and that recording
"undetermined" is the honest answer when the evidence does not say.

The stop condition is the substance: at most two lines, then return to what was in
progress. No plan, no triage question, nothing opened.
jschoubben added 1 commit 2026-09-24 16:39:05 +00:00
Review caught it reading as a real relative link, so a link checker flags
.claude/skills/hq-defer/file.md forever. Angle brackets say placeholder.
Author
Owner

Review

Done in an isolated worktree (.work/review-107/hq) per playbook 07, and validated against the merged tree rather than the branch alone — base has moved to 5677e97 since this was opened (ADR 0107 and issue 115 landed).

  • Test-merged onto current main: clean, no conflicts. mergeable: true, 1 file, +78/−0.
  • Checks on the merged tree: cycle 265 documents / records pass / index current.
  • Links: all three relative links resolve. Frontmatter: name and description present and well-formed. Disclosure scan: clean — no nodes, domains, absolute paths or usernames.

Two findings

1. Fixed in db2c950. The MEMORY.md pointer template read - [Title](file.md), which a link checker resolves as a real relative path and flags as broken forever. Now - [<Title>](<kebab-slug>.md) — unambiguously a placeholder. Link check goes from 1 unresolved to 0.

2. Correction to my own PR body above. I wrote "Every other hq-* skill defers to a playbook as authoritative." That is false — hq-status names no playbook, because generating a cross-cutting view isn't a workflow. Verified across all nine skills: seven reference a playbook, hq-status and hq-defer do not.

The claim does not appear in SKILL.md itself, which says only that this skill wraps no playbook and why. So the shipped text is accurate and the overclaim was confined to my description. Recording it rather than quietly editing, since the PR body is what a reader sees first.

Merging.

## Review Done in an isolated worktree (`.work/review-107/hq`) per playbook 07, and validated against the **merged** tree rather than the branch alone — base has moved to `5677e97` since this was opened (ADR 0107 and issue 115 landed). - **Test-merged onto current `main`:** clean, no conflicts. `mergeable: true`, 1 file, +78/−0. - **Checks on the merged tree:** `cycle` 265 documents / `records` pass / `index` current. - **Links:** all three relative links resolve. **Frontmatter:** `name` and `description` present and well-formed. **Disclosure scan:** clean — no nodes, domains, absolute paths or usernames. ### Two findings **1. Fixed in `db2c950`.** The `MEMORY.md` pointer template read `- [Title](file.md)`, which a link checker resolves as a real relative path and flags as broken forever. Now `- [<Title>](<kebab-slug>.md)` — unambiguously a placeholder. Link check goes from 1 unresolved to 0. **2. Correction to my own PR body above.** I wrote *"Every other `hq-*` skill defers to a playbook as authoritative."* That is **false** — `hq-status` names no playbook, because generating a cross-cutting view isn't a workflow. Verified across all nine skills: seven reference a playbook, `hq-status` and `hq-defer` do not. The claim does not appear in `SKILL.md` itself, which says only that *this* skill wraps no playbook and why. So the shipped text is accurate and the overclaim was confined to my description. Recording it rather than quietly editing, since the PR body is what a reader sees first. Merging.
jschoubben merged commit 2c5f805467 into main 2026-09-24 16:39:22 +00:00
jschoubben deleted branch meta/hq-defer-skill 2026-09-24 16:39:22 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#107