Skip to content

feat(adhd): add clarify skill — faithfully restructure a dense artifact#1073

Merged
kyle-sexton merged 4 commits into
mainfrom
feat/adhd-digest-skill
Jul 22, 2026
Merged

feat(adhd): add clarify skill — faithfully restructure a dense artifact#1073
kyle-sexton merged 4 commits into
mainfrom
feat/adhd-digest-skill

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Closes #1070

Summary

Adds /adhd:clarify: an on-demand, one-shot reshape of a dense, decision-heavy message already on screen so a reader (especially one offloading working memory) can act on it. It restructures faithfully — chunks the content one-decision-at-a-time, defines the session's own jargon, and surfaces exactly what must be decided — and it renders an HTML decision table for big content. This is the consumer-side counterpart to the producer-side interview-format levers already shipped (planning PR #1048); where those fix the flagship producer, this rescues any dense artifact reactively.

The core discipline: change STRUCTURE, never altitude. Lowering the reading level (plain words / ELI5 / lossy simplification) is education:explain's lane; this holds precision and reading level fixed and only reorganizes — it makes the same content clear without simplifying it.

Fix

  • New skill plugins/adhd/skills/clarify/ (SKILL.md + evals.json). Default target is the previous assistant response (anaphora); an explicit target overrides.
  • Hard fidelity rules (a clarification of a decision doc must not corrupt the decisions): operative terms of every recommendation quoted verbatim; original item numbers kept as back-links (distinct from the table's own answer-mapping row numbers); omissions listed explicitly; closing line that the clarification is a lens — validate answers against the original.
  • Artifact-forward rendering: decision table item | recommendation | alternative | what-you're-deciding, rows numbered so terminal answers map back; honors the Artifact tool contract via the artifact-design skill; degrades to a local HTML file, then structured terminal markdown, when the Artifact surface is unavailable. Static table — no runtime capabilities declared.
  • CRITICAL trigger-collision fix vs education:explain (both auto-fire and default to the previous response): the altitude-vs-structure decision rule is written into both descriptions with disjoint triggers, so routing is on intent, not overlapping phrases. All 7 of explain's trigger keywords are preserved (verified by skill-quality's keyword-preservation check).
  • In-plugin boundary line added to adhd:shape (standing session posture vs one-shot reshape); its 5 trigger keywords preserved.
  • Version bumps: adhd 0.1.0 -> 0.2.0 (new skill), education 0.5.1 -> 0.5.2 (explain routing boundary). Changelogs updated; root catalog regenerated; adhd README updated for the second skill.

Naming

Name clarify is human-locked (chosen over digest/untangle/decode and the blind-lens picks restructure/chunk — clarify carries faithfulness in the word: make clear without changing substance). The trigger phrase "help me digest this" is kept as a genuine user reflex.

One PR, not two (deliberate)

The two-plugin touch ships as one PR because the mutual-exclusion boundary is atomic: splitting it opens a window where either explain auto-fires on clarify's triggers (adhd-first) or explain's description references a not-yet-existent boundary (education-first). The two descriptions are a matched pair implementing one disjoint-trigger contract.

Verification

All run locally on the branch (post-rename):

  • skill-quality check — clarify PASS (0 errors, 0 warnings; 189/500 lines, desc 1058/1536 chars); explain PASS (all 7 trigger phrases preserved); shape PASS (all 5 preserved; one pre-existing Gotchas-surface WARN, not introduced here).
  • claude plugin validateadhd and education both pass.
  • check-changelog-parity.sh --check-bump origin/main — both bumped plugins have matching ## [<version>] entries.
  • generate-catalog.mjs --check — catalog in sync.
  • validate-plugin-contracts.mjs — pass.
  • check-skill-leaf-names.sh --checkclarify is a unique leaf, no collision.
  • check-skill-portability.sh origin/main — no coupling tokens.
  • markdownlint-cli2 on changed docs — 0 errors.
  • clarify evals.json — valid against the bundled schema (5 cases).

Related

Add /adhd:digest: an on-demand, one-shot reshape of a dense, decision-heavy
message already on screen (default target: the previous assistant response;
explicit target overrides). Restructures faithfully — chunks one-decision-at-a-
time, defines the session's own jargon, surfaces what the reader must decide —
under hard fidelity rules: operative terms quoted verbatim, original item numbers
kept as back-links, omissions listed explicitly, and a lens-not-replacement
closing line. Changes STRUCTURE, never altitude.

Artifact-forward: big/decision-dense content renders an HTML decision table
(item | recommendation | alternative | what-you're-deciding, rows numbered so
terminal answers map back), honoring the Artifact contract via artifact-design;
degrades to a local HTML file, then structured terminal markdown.

Resolve the CRITICAL trigger collision with education:explain (both auto-fire and
default to the previous response) by writing the altitude-vs-structure decision
rule into BOTH descriptions with disjoint triggers — explain preserves all 7 of
its trigger keywords. Add an in-plugin boundary line to adhd:shape (standing
posture vs one-shot reshape).

adhd 0.1.0 -> 0.2.0 (new skill); education 0.5.1 -> 0.5.2 (explain routing
boundary). Catalog regenerated. Name is provisional pending a blind naming pass
and human confirmation.

Closes #1070

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@kyle-sexton kyle-sexton added the do-not-merge Hard merge gate: do not merge while applied. label Jul 22, 2026
@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

Warning

Automated review did not complete — this is an infrastructure failure, not a review verdict.

Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."

Re-running the job, or pushing a new commit, will retry the review.

@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown

Warning

Automated security review did not complete — this is an infrastructure failure, not a review verdict.

Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."

Re-running the job, or pushing a new commit, will retry the review.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cf761fb547

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/adhd/skills/clarify/SKILL.md Outdated
Comment thread plugins/adhd/skills/clarify/SKILL.md Outdated
Kyle locked the name /adhd:clarify: the reflex moment is "make this clear"
at a jargon wall, and clarify carries faithfulness in the word (make clear
without changing substance) — chosen over digest/untangle/decode (imply the
text is a mess) and the blind-lens picks restructure/chunk (segmentation-only).

Pure rename + prose reconciliation; behavior, fidelity rules, artifact-forward
ladder, and the altitude-vs-structure boundary are unchanged. Skill dir and
name, evals skill_name, all adhd:digest references (explain + shape boundary
sentences, plugin.json, both changelogs, README), and the plugin keyword move to
clarify. Catalog regenerated. The trigger phrase "help me digest this" is kept
as a real user reflex.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 1s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@kyle-sexton kyle-sexton removed the do-not-merge Hard merge gate: do not merge while applied. label Jul 22, 2026
@kyle-sexton kyle-sexton changed the title feat(adhd): add digest skill — faithfully restructure a dense artifact feat(adhd): add clarify skill — faithfully restructure a dense artifact Jul 22, 2026
- Local HTML fallback: pin the destination to ${CLAUDE_PLUGIN_DATA} or an OS
  temp path (a clarified view is transient generated state) so it never dirties
  the consumer's repository tree; drop to terminal markdown if no writable
  location exists.
- artifact-design reference: presence-gate it ("when it is available") with a
  fallback to the Artifact contract essentials (self-contained, theme-aware,
  title/description/favicon), per the marketplace's guard-and-fallback policy
  for optional collaborators, rather than a bare mandatory load.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e1b413c18d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/adhd/skills/clarify/SKILL.md
@kyle-sexton
kyle-sexton enabled auto-merge (squash) July 22, 2026 21:45
Third Codex P2: copying operative terms verbatim into HTML corrupts code-like
text (<dialog>, A && B) and can execute markup when the clarified artifact is
untrusted. Require treating copied source text as text content / HTML-escaping it
in the artifact and local-file media — this is what keeps the verbatim fidelity
rule true in the rendered page and closes the injection vector — and backticking
code-like terms in the terminal-markdown medium. Tightened intro and a redundant
gotcha to stay within the 200-line soft target.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 22, 2026

Copy link
Copy Markdown

Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@kyle-sexton
kyle-sexton merged commit 2802b62 into main Jul 22, 2026
25 checks passed
@kyle-sexton
kyle-sexton deleted the feat/adhd-digest-skill branch July 22, 2026 22:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9e5d7af5ed

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +27 to +28
2. **Ground it, don't recall it.** Re-read the actual artifact this turn — the
message just sent, in full. Working from your memory of it instead of its text

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ground on the resolved target, not the latest message

When the user passes an explicit earlier target, e.g. /adhd:clarify the design memo you wrote three messages ago, this grounding step tells the agent to re-read “the message just sent” instead of the target selected in step 1. That can make the skill clarify the invocation text or otherwise ignore the explicit override, contradicting the intended behavior for named earlier artifacts; anchor this step to the resolved target’s full text rather than the latest message.

Useful? React with 👍 / 👎.

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.

feat(adhd): on-demand consumer digest skill — faithfully restructure a dense just-presented artifact

1 participant