Importance: High. Status: Pending (Tier 1 on review branch awaiting merge; Tier 2 awaiting canonical-side decision; standing-lane needs one client-side step).

Sam approved two things from the prior session: (A) reconcile mount to repo as canonical so sail-skills mirrors what runs, and (A) give Claude a standing lane to the writable skill store.

What was done

Reconciled the sail-skills repo against the Cowork mount, safely and non-destructively, splitting into two tiers after a full per-file divergence check.

Tier 1 (executed): pushed the 85 mount-only skills (86 files) to a new branch reconcile/mount-to-repo-2026-05-31 (commit b14a1a5276bc, parent main 5c600d7a4e85) as one atomic commit via the GitHub Git Data API. This includes salesforce-developer at v2.1.0 (the enhanced build-layer skill) and litify-operator-core with the router patched to point at salesforce-developer (phantom litify-metadata-builder removed), plus the rest of the litify family and every other mount-only skill. The repo went from 17 skills to 102.

Verified post-push: the 14 repo-only skills are byte-identical to main (0 changed); the 3 overlapping skills are untouched (0 changed, 0 deleted); salesforce-developer on the branch is confirmed v2.1.0; operator-core confirmed routing to salesforce-developer. main was never modified; all changes sit on the review branch.

Tier 2 (held for Sam, NOT pushed): the 3 overlapping skills (firm-briefing, notion-knowledge-base, sa-template-reference) were deliberately excluded because sa-template-reference has diverged in BOTH directions. The repo holds 5 reference files the mount lacks (brand-design-sheet-component-additions, broken-page-diagnostic, sa-brand-design-sheet, spanish-pages, trust-strip) that a blind mount-over-repo push would have deleted, while the mount holds 3 the repo lacks (content-grid, form, trust-bar), and SKILL.md plus 6 shared reference files differ in content. firm-briefing and notion-knowledge-base differ only in SKILL.md (mount also adds template files), low risk. Pushing blind would have destroyed real repo-side design-system work, so it was stopped and surfaced instead.

Rollback and merge instructions written to outputs (RECONCILE-rollback-and-merge-2026-05-31.md). Before merge, rollback is just deleting the branch; after merge, revert the additive commit.

Standing lane to the writable skill store

Verified what is reachable. The hosted Salesforce MCP at https://mcp.aguiarinjurylawyers.com/mcp exists and is documented, but its SF_REFRESH_TOKEN was still pending capture per the vault, so it is not yet a finished lane and is also Salesforce-specific, not a skills-write lane. A Cowork session default is a client-side toggle that cannot be set from a web chat. The honest status: a true one-click standing lane could not be completed from this web session. Two concrete paths exist, either of which Claude can set up end to end once Sam picks: (1) make the GitHub repo the canonical write target (already proven this session: the GitHub REST/Git Data API works with the PAT and gives atomic commits, branches, and rollback, so once Tier 1 merges, every future skill edit can route through sail-skills with no read-only wall); or (2) stand up a small hosted skills endpoint (Cloudflare Worker, Bearer token) that reads/writes the repo, matching the cloud-first pattern in scheduled-task-architect. Recommendation is (1) first because it is done except for the merge, then (2) if Sam wants a single Bearer endpoint shared across devices and agents.

Why the session is paused here

Tier 1 is complete and verified but intentionally on a branch, not main, so Sam can glance at the compare view before it becomes canonical. Tier 2 needs a human call on which side wins for the 3 overlapping skills. The standing lane needs either the merge (path 1) or a go-ahead to build the Worker (path 2).

Recommended next actions (Sam's call)

  1. Merge reconcile/mount-to-repo-2026-05-31 into main (PR via the compare link, or have an agent fast-forward). This makes the repo the real mirror and activates the always-allow commit permission against a valid target.
  2. Decide canonical side for the 3 overlapping skills, or approve a per-file union merge (keep all repo-only files, add all mount-only files, and pick the newer SKILL.md per skill after a content review).
  3. Pick the standing-lane path: repo-as-target (free, ready post-merge) or a hosted Worker endpoint (Claude builds it).

Handoff for the next agent

The branch reconcile/mount-to-repo-2026-05-31 contains the additive Tier 1 push; main is clean. The GitHub PAT in API Keys & App Secrets (GITHUB_TOKEN_1) works with the Git Data API for blobs/trees/commits/refs, which is the reliable lane for multi-file skill pushes (the Pipedream NL github wrapper drops content and should not be used for skill files). For Tier 2, do a per-file diff before any overwrite; sa-template-reference is the one that bites because the repo has design-system reference files the mount does not. Rollback details are in the outputs artifact. No mount writes were attempted (mount is read-only in web Cowork); the canonical copies now live in the repo branch.