scdenney/open-science-skills/deliverable-intake

Claude Code and agent skill by scdenney/open-science-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Turns dictated captures in a deliverable's inbox/ into a proposed planning-wiki diff, classifying and tracing each statement; decisions need the author's assent. Use to intake notes or process the inbox.

Install

npx vskill@latest install scdenney/open-science-skills/deliverable-intake

SKILL.md

Deliverable intake

The author thinks out loud; the wiki stays authoritative. This skill is the seam between the two. It reads captures verbatim, proposes where each statement belongs, and applies nothing the author has not seen.

Inputs

  • The nearest deliverable.yml upward from cwd (or the path given). Read it, then planning_dir/00-README.md and every file that index names. That is the current state of the wiki; the proposal is a diff against it.
  • inbox/*.md that do not end in .done.md, oldest first. A capture is read verbatim and never edited.
  • --from-log N: show the last N entries of ~/.config/macwhspr/cleanup_log.jsonl ({ts, raw, cleaned} pairs) as a numbered list with the first line of each, and ask which to import. An imported entry is written to inbox/YYYY-MM-DD-HHMM-log.md with the cleaned text (the raw text appended under a <!-- raw --> marker) before anything else happens. Nothing is imported without being named.

Classify, then trace

Walk the capture paragraph by paragraph. Each statement gets exactly one class:

ClassGoes toNeeds assent?
decisionthe wiki file that owns the topic (00-README.md "Decisions recorded here", or the numbered file)yes, always
evidence claimthe wiki file for the section it supports, marked with the capture referenceno, but a claim naming a source that is not in sources_of_truth or the bib is written as UNRESOLVED: <claim>; when the manifest names a knowledge_base, the report lists each such source as a process-source candidate (drop the PDF in sources/unprocessed/) so intake feeds the knowledge base rather than bypassing it
question08-open-questions.md, open listno
task08-open-questions.md under a Tasks heading; one due before the next session is also named in the report, so the closure step carries it into HANDOFFno
droppednowhere; listed in the report with the reason (duplicate, already resolved, off-topic)no

Every proposed line carries a trace: (inbox/2026-09-10-debrief.md ¶3). A capture paragraph that yields no proposal is listed as dropped with its reason, so the author can see the capture was read whole.

Names, dates, numbers, and citations that the capture states but the wiki cannot confirm stay as dictated and are tagged UNRESOLVED. Do not correct a dictated name against a guess; do not invent a citation to match a claim; do not resolve a number from memory.

Propose

Produce one unified diff across the wiki files (new files included) plus the dropped list. Show it. Then put the decisions to the author as a numbered list, each with the sentence that would be written and where; use AskUserQuestion when there are three or fewer, a numbered list otherwise.

Apply

Once the author has seen the diff, apply the non-decision hunks and each decision they approved, then rename the capture to *.done.md. Do not edit any existing HANDOFF.md entry, today's included; the intake is recorded by the closure step ($finished) as Intake: <capture> -> <n> decisions, <n> claims, <n> questions, <n> tasks, <n> dropped, and if the session ends without closure the renamed capture and the wiki diff are the record. Record which capture paragraphs were promoted (a <!-- promoted: ¶1,¶3 --> line at the end of the .done.md file) so a partially accepted capture is never promoted twice. On refusal of any decision, leave that line out and keep the capture unrenamed until the author says otherwise.

Report

Five lines: captures read; counts by class; UNRESOLVED items (each with what would resolve it); decisions applied; what to run next ($deliverable-lint if the wiki changed materially, otherwise nothing).

Notes

  • One worker, no subagents; a cheap model suffices.
  • A reaction to a lint report is a capture like any other: dictate it into inbox/, then intake it; findings the author accepts become tasks, findings they reject go under a Rejected findings heading in 08-open-questions.md (the authoritative wiki, not NOTES.md) with the finding id and one line of reason, so the next lint does not raise them again.
  • Register vocabulary as it appears: a proper noun the dictation mangled twice belongs in ~/.config/macwhspr/vocab.md (offer, never append silently).

Codex notes

Present the complete patch before applying anything; decision hunks go in only with explicit approval. Files and formats are identical to the Claude skill.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/scdenney/open-science-skills/deliverable-intake/badge)](https://verified-skill.com/skills/scdenney/open-science-skills/deliverable-intake)

Something wrong with this skill or its page? Tell us.