Commit Graph
10 Commits
Author SHA1 Message Date
Bryan Gilliom (via Claude) 8766b42b4f Bump to v0.3.0 — feedback loop + Echo/Goldbrain v0.3.0 2026-09-22 22:32:45 +00:00
Bryan Gilliom (via Claude) 60a054167d Add feedback-loop instruction and Echo Memory/Goldbrain as an optional source
Bryan's request: set up a channel for field usage (by anyone at MPM using
an installed copy of this skill, not just Bryan talking directly to
Claude) to feed back into plugin maintenance. Added:

- A Drive folder, 'Brief - Feedback Log', with a _SCHEMA.md defining the
  trigger (the person had to ask for something the skill's instructions
  didn't already cover) and format (one small file per entry, not one
  shared growing document -- avoids concurrent-write clobbering when many
  different Claude sessions across the org write to the same folder).
- A new SKILL.md section instructing this skill to write an entry there
  whenever that trigger fires.
- Echo Memory / Goldbrain (personal Obsidian vaults some MPM staff keep)
  added as an optional, per-person-checked data source -- never another
  person's vault, never assumed present.

This pattern (the feedback folder + the SKILL.md instruction to use it)
needs to be part of every future Brief skill from the start, not bolted
on later -- noted in CW-027's Concept.md.
2026-09-22 22:32:13 +00:00
Bryan Gilliom (via Claude) 339d753746 Bump to v0.2.0
Reflects the real-world fixes and new capabilities from the first live
invocation of internal-meeting-brief (Oshkosh GO Transit kickoff): PDF
generation, end-agency enrichment, channel/pricing confidentiality rule,
print-CSS fix, SO/PO scoping correction, contact/part-number lookup,
improved manifest schema, transcript archival, and the Plaud connector
root-cause fix. See README Changelog for the full list.
v0.2.0
2026-09-22 21:43:45 +00:00
Bryan Gilliom (via Claude) 2f8ba0b80b Add end-agency enrichment and the channel/pricing confidentiality rule
Bryan, two related requests:

1. When a topic has a real end-client agency, the skill should resolve
   its full identity -- not just whatever name got said in the meeting.
   Added as a new standing step: check the MPM Technical Reference
   System first (agency-roster.md, clients-and-partners.md -- cheap,
   already-vetted), fall back to public web research, resolve BOTH the
   legal entity name and the separate transit brand name distinctly
   (validated pattern, confirmed against MPM's own FTA filings for
   Oshkosh: 'City of Oshkosh, Wisconsin, dba: GO Transit'), re-host the
   logo as a data URI rather than hotlinking it, and capture general
   agency contact info. Gets its own 'End Agency' card, separate from
   individual attendees.

2. Pricing shown in the Oshkosh brief was correct for an internal
   audience, but Bryan flagged that an external-facing version must
   never show the end agency MPM's price to the reseller -- they aren't
   privy to it. Documented as a new Hard Rule, grounded directly in the
   Technical Reference System's own reseller-channel.md (MPM's contract
   of record is with the reseller, not the agency, on channel accounts)
   rather than invented from scratch. Doesn't change internal-meeting-
   brief's current behavior (it's internal by definition) -- recorded
   here as the binding rule for vendor-partner-brief and kickoff-brief's
   external-client variant, neither built yet.
2026-09-22 21:40:21 +00:00
Bryan Gilliom (via Claude) 93c99c04d2 Make PDF a required parallel output, generated via headless Chromium
Bryan: PDF needs to happen automatically, not be a manual export --
not everyone can open the HTML comfortably. This was designed back in
CW-027's Delivery Architecture discussion but never actually built into
this skill; step 7 only produced HTML.

Fixed: step 7 now generates the PDF immediately after the HTML, via
Playwright + headless Chromium (confirmed available at /opt/pw-browsers),
using page.emulate_media('print') so the PDF gets exactly the same print
CSS this skill already ships -- no separate print logic to maintain, no
relying on someone hitting Ctrl+P themselves.

Verified end-to-end before writing this into the spec: patched a real
brief with the current print CSS, rendered to PDF, confirmed correct
Letter pagination (5 pages, no blank-page artifacts) and correct
rendering of the modern CSS (color-mix, gradients, custom properties)
that simpler non-browser PDF converters often get wrong.

Step 8 (archive) updated: both HTML and PDF save to Meeting Briefs/
every time, not PDF-on-request.
2026-09-22 21:36:58 +00:00
Bryan Gilliom (via Claude) 2209a19eb7 Fix print CSS bug and fold in real-world findings from the first live invocation
First test run (Oshkosh GO Transit internal kickoff, via the actual
installed skill, not Claude manually walking the SKILL.md) surfaced real,
fixable gaps. All fixed here:

1. Print CSS bug (root cause, found by Bryan): section{break-inside:
   avoid-page} plus whole-table break-inside:avoid caused a 14-page,
   mostly-blank PDF. Fixed: sections can split across pages now; only
   cards/table-rows avoid splitting, with repeating table headers.

2. SO/PO lookup was wrongly scoped out of this brief type by default.
   Wrong -- an internal kickoff about a real sale needs the SO/PO as much
   as any external brief would. Scope is now by topic nature (commercial
   vs. purely internal), not by brief-type name.

3. Contact-info lookup (not just name resolution) is now an explicit
   standing step in attendee capture, starting from a linked SO/PO's own
   Odoo contacts when one exists.

4. Added the MPM Technical Reference System (a 131-file Drive registry:
   brand, platform, display tech, products, engineering, concepts, proof)
   as a standing reference for part-number/product verification --
   previously unknown to this skill.

5. Pulled the real run's improved _topic-state.md schema back into the
   spec: confidence tags (verified/stated/open), a folder-layout header,
   numbered-vs-proposed open items, a Findings/flags section. These
   emerged from real use and are now documented, not one-off.

6. Meeting transcript archival (a Meeting Transcripts/ subfolder) is now
   a standing step, not something that has to be asked for.

7. section-structure.md: flow and specbar are now marked validated (real
   examples: Oshkosh deployment sequence, billing milestones). Added the
   meeting-vs-proposed open-items badge pattern and a standard
   confidentiality footer note for this brief type.

None of this was a failure of judgment in the moment -- these are gaps
between what the file said and what real use needed, now closed.
2026-09-22 21:34:20 +00:00
Bryan Gilliom (via Claude) 2c6fa0da03 Generalize meeting-record sourcing: Plaud is one option, not the assumption
Bryan's correction: transcript source shouldn't be Plaud-specific. Google
Meet, Teams, or no transcript at all (fall back to notes/task registry)
are all real cases. Reworked Prerequisites and steps 3-5 so the skill asks
which source applies instead of defaulting to Plaud and treating an empty
result as 'no record exists.' Plaud-specific mechanics (official connector,
id resolution via list_files, of_ prefix, pagination) kept as documented
detail for when Plaud is the actual source, not as the only path.
2026-09-22 19:27:23 +00:00
Bryan Gilliom (via Claude) 0358d78c01 Fix Plaud integration: use official connector, resolve file_id via list_files
Root cause found: the web app's recording URL slug is missing the 'of_'
prefix the API's real file_id requires — direct lookup by URL id always
404'd regardless of which connector or account. Fixed by resolving the id
via list_files(query=...) instead. Also: stop using the deprecated
'Plaud MCP' connector entirely, use the official 'Plaud' connector only.

Verified live: pulled the 09-16 meeting transcript for real via the
official connector, content matches the manually-uploaded transcript used
to build the first brief. Recap mode's live data path is now confirmed
working end-to-end, not just designed.
2026-09-22 19:18:29 +00:00
Bryan Gilliom (via Claude) c98daed984 Add internal-meeting-brief — first real skill in the Brief family
Real-tested 2026-09-21 against the APTA 2026 booth 09-16 planning meeting
(recap mode). Includes:
- skills/internal-meeting-brief/SKILL.md — full workflow: topic resolution,
  continuity manifest, agenda/recap branching, attendee capture/normalization,
  scoped data pulls, synthesis, render, archive.
- assets/brief-components.css — canonical shared component library (cards,
  flow, layerbox/filepill, unitgrid, quad, compare, specbar, actions+status
  pills, note callouts x4 tones, colvis/ring), MPM tokens from CW-028,
  required light/dark toggle, print rules.
- references/section-structure.md — fixed-vs-dynamic section contract,
  explicitly marked unproven beyond one real run.

Known limitation: Plaud MCP connector is currently non-functional (local
server via Claude Desktop, times out). Brief was built from a manually
uploaded transcript, not a live pull.

Five more skills planned, not started: vendor-partner-brief,
status-update-brief, five-whys-brief, kickoff-brief, development-brief.
Full design history in CW-027's Concept.md (Drive).
2026-09-22 17:37:52 +00:00
mpmedia 1fd2f91762 Initial commit 2026-09-13 08:19:00 -05:00