Priority: low. youtube-digest is a low-priority skill relative to the rest of the repo. Filed as one consolidated issue per owner preference. Surfaced during the first real run landing artifacts in the dedicated melodic-software/knowledge-corpus repo (video aVO6E181cNU). That run worked around every item below by hand, so nothing here blocks use today — it's the codification backlog to make the skill drop-in-agnostic and corpus-native.
A. Agnosticism — externalize hardcoded assumptions to userConfig / setup (four seams + resolution ladder)
Per docs/PLUGIN-PHILOSOPHY.md + docs/MIGRATION-PLAYBOOK.md, no consumer layout may be baked in.
- Landing layout is hardcoded to
.work/<watch-epic>/<video-slug>/. A corpus consumer's convention is sources/<type>/<slug>/ (see the corpus repo README). Landing path should be resolvable via a documented consumer seam, not fixed in the skill.
- Synthesis target is hardcoded to a single repo —
templates/recommendations/menu.md bakes Prioritized menu for **{repo name}** and synthesis-item.md assumes one grep-bound repo. Should be a per-invocation --target argument (aligns with the /knowledge:apply design), not an implicit "the repo I'm in."
- General sweep for any other baked path/repo/OS assumptions while here (skill logic itself is otherwise env-driven and clean).
B. Durability / corpus-fit
- Raw video, bulk frames, and contact sheets are discarded as "OS temp / never in repo" (SKILL.md Output contract;
run-watch.js temp handling). A corpus wants them retained (the corpus README makes source video the durable substrate for re-runnable synthesis). Add a retention path; land binaries where the consumer's .gitattributes LFS-tracks them.
.work/ collides with the corpus's durable tier. .work/ is the topic-docs never-committed scratch tier, yet ingest-to-corpus needs a committable location (sources/youtube/<slug>/). Reconcile.
- No commit / LFS awareness — the skill never commits and its contact-sheet
.gitignore *.jpg + "Staged: yes" contract assume plain git; under a corpus with LFS-tracked binaries this silently excludes/misroutes.
- SKILL.md self-contradiction (~line 36): the
.work/ root "self-ignores (a .gitignore containing *) and is never committed" vs the Output-contract table marking ~35 artifacts Staged: yes. The lone-* ignore is unimplemented prose (only snapshot-bootstrap.js writes *.jpg). Pick one and make the docs consistent.
C. Synthesis split (aligns with an already-decided design)
docs/knowledge-integration-design.md routes repo-applicability recommendations to the target repo (report→diff→PR), not the corpus; the retarget capability is the unbuilt /knowledge:apply (implement(knowledge-integration) under wave-2 map #1369). youtube-digest still persists recommendations/** into the slice as a durable graded deliverable. It should treat synthesis as ephemeral / target-bound and defer to /knowledge:apply, keeping the corpus a bias-free source-of-record.
D. Cross-repo note (belongs to melodic-software/knowledge-corpus, not this repo)
Corpus .gitattributes LFS globs miss mkv (yt-dlp can merge to it), pptx/key (decks), and webp. Also the pre-existing Pat Pattison epubs were committed before .gitattributes and are pre-LFS blobs (needs git lfs migrate). Tracking here only for visibility.
Acceptance sketch
Landing path, retention policy, and synthesis target all configurable via the four seams + the setup skill's check/apply; no baked repo/layout; SKILL.md internally consistent; synthesis deferred to /knowledge:apply. Everything drop-in for a stranger's repo (including a non-repo temp folder when they don't want it checked in).
Priority: low.
youtube-digestis a low-priority skill relative to the rest of the repo. Filed as one consolidated issue per owner preference. Surfaced during the first real run landing artifacts in the dedicatedmelodic-software/knowledge-corpusrepo (videoaVO6E181cNU). That run worked around every item below by hand, so nothing here blocks use today — it's the codification backlog to make the skill drop-in-agnostic and corpus-native.A. Agnosticism — externalize hardcoded assumptions to userConfig / setup (four seams + resolution ladder)
Per
docs/PLUGIN-PHILOSOPHY.md+docs/MIGRATION-PLAYBOOK.md, no consumer layout may be baked in..work/<watch-epic>/<video-slug>/. A corpus consumer's convention issources/<type>/<slug>/(see the corpus repo README). Landing path should be resolvable via a documented consumer seam, not fixed in the skill.templates/recommendations/menu.mdbakesPrioritized menu for **{repo name}**andsynthesis-item.mdassumes one grep-bound repo. Should be a per-invocation--targetargument (aligns with the/knowledge:applydesign), not an implicit "the repo I'm in."B. Durability / corpus-fit
run-watch.jstemp handling). A corpus wants them retained (the corpus README makes source video the durable substrate for re-runnable synthesis). Add a retention path; land binaries where the consumer's.gitattributesLFS-tracks them..work/collides with the corpus's durable tier..work/is the topic-docs never-committed scratch tier, yet ingest-to-corpus needs a committable location (sources/youtube/<slug>/). Reconcile..gitignore *.jpg+ "Staged: yes" contract assume plain git; under a corpus with LFS-tracked binaries this silently excludes/misroutes..work/root "self-ignores (a.gitignorecontaining*) and is never committed" vs the Output-contract table marking ~35 artifactsStaged: yes. The lone-*ignore is unimplemented prose (onlysnapshot-bootstrap.jswrites*.jpg). Pick one and make the docs consistent.C. Synthesis split (aligns with an already-decided design)
docs/knowledge-integration-design.mdroutes repo-applicability recommendations to the target repo (report→diff→PR), not the corpus; the retarget capability is the unbuilt/knowledge:apply(implement(knowledge-integration)under wave-2 map #1369).youtube-digeststill persistsrecommendations/**into the slice as a durable graded deliverable. It should treat synthesis as ephemeral / target-bound and defer to/knowledge:apply, keeping the corpus a bias-free source-of-record.D. Cross-repo note (belongs to
melodic-software/knowledge-corpus, not this repo)Corpus
.gitattributesLFS globs missmkv(yt-dlp can merge to it),pptx/key(decks), andwebp. Also the pre-existing Pat Pattison epubs were committed before.gitattributesand are pre-LFS blobs (needsgit lfs migrate). Tracking here only for visibility.Acceptance sketch
Landing path, retention policy, and synthesis target all configurable via the four seams + the
setupskill'scheck/apply; no baked repo/layout; SKILL.md internally consistent; synthesis deferred to/knowledge:apply. Everything drop-in for a stranger's repo (including a non-repo temp folder when they don't want it checked in).