fix: repair cross-skill contract gaps and harden Tracker handling (v1.1.1)

- deploy: create "! Rule Needed" label on first deploy (was promised in
  frontmatter but never implemented; rule-review depends on it)
- rule-review: accept Bootstrap-mode entry (Phase: Bootstrap, no Tracker yet)
- survey: create the three artifacts before invoking handoff so handoff's
  sanity check no longer loops
- deploy: name manage_gmail_filter params explicitly (action/criteria/filter_action)
- rule-review: quote label query (label:"! Rule Needed")
- deploy: renumber execution-flow block to the 7 phases the body runs
- survey: frame Tracker About tab as a technical reference
- import + rule-review: de-duplicate rule_id before writing to Tracker
- survey/import/deploy/rule-review: document XLSX Tracker Drive round-trip
- all skills: use session date only in _status.md (no fabricated clock time)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Jason Stedwell
2026-07-03 23:04:35 -05:00
parent 005c047eb6
commit 8723bb942e
6 changed files with 121 additions and 28 deletions
+27 -6
View File
@@ -473,7 +473,7 @@ mpmedia.tv, messagepoint.tv, messagepointmedia.com, messagepoint.media, mpm.to
```markdown
# Gmail Inbox Architect — Project Status
**Last Updated:** [YYYY-MM-DD HH:MM UTC]
**Last Updated:** [YYYY-MM-DD — today's date from the session; do not fabricate a clock time]
**Last Agent:** Claude (CoWork) — survey skill (bootstrap mode)
**Phase:** Bootstrap
**Last Completed Step:** Bootstrap survey complete. Domain analysis run. Taxonomy v1 preliminary.
@@ -704,7 +704,16 @@ If handoff threshold is met:
> flat-rate tool'] for the heavy analysis — they can walk through the whole thing,
> then bring the results back to me for review. Want me to set that up?"
Then invoke the `handoff` skill with the current project context.
**Before invoking handoff, complete Phase 5 first.** The `handoff` skill's sanity check
requires that Bible.md, the Tracker, and `_status.md` already exist in the project folder —
if you invoke it before those artifacts are created, its Phase 1 check fails and bounces
back here in a loop. So when the handoff threshold is met:
1. Skip the Step 4.2 sampling.
2. Run **Phase 5** now to create all three artifacts (write `_status.md` with
`Phase: Survey complete` and note the pending handoff).
3. Then invoke the `handoff` skill with the current project context.
Phase 6 close-out then covers the handoff delivery instructions.
**If sampling is appropriate (under 20 labels, manageable message counts):**
@@ -859,7 +868,11 @@ Create two sheets:
- Sheet 2 named **About** — add this text:
```
This tracker is the source of truth for all Gmail classification rules.
(This tab is a technical reference for the column names below — you never
need to edit it. The plain-English view of your rules is what we walk through
together in each session.)
Columns:
rule_id — Unique rule identifier
enabled — TRUE/FALSE: whether the rule is active
@@ -880,11 +893,19 @@ Create two sheets:
```
**If XLSX path:**
Invoke the `xlsx` skill to create `Tracker.xlsx` in the project folder with:
Invoke the `xlsx` skill to create `Tracker.xlsx` locally with:
- Sheet 1 named "Rules" with the header row from the schema above
- Sheet 2 named "About" with the column descriptions above
Do NOT pre-populate any data rows.
The `xlsx` skill writes the file to the local workspace, not to Drive. After it's created,
upload it into the project Drive folder so every session and tool can reach it: call
`create_drive_file` with `file_name: Tracker.xlsx`, the project `folder_id`, and the local
file passed via `fileUrl` (e.g. `file:///path/to/Tracker.xlsx`) with
`mime_type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`.
Record the resulting Drive URL as the Tracker Location — subsequent skills read and
round-trip the file from there.
After creating, share the link:
> "Your Tracker is ready — [link]. It's empty right now, which is exactly right.
> Rules will be added here as task orders come back, and you'll review each one
@@ -899,7 +920,7 @@ Call `create_drive_file` in the project folder with this content:
```markdown
# Gmail Inbox Architect — Project Status
**Last Updated:** [YYYY-MM-DD HH:MM UTC]
**Last Updated:** [YYYY-MM-DD — today's date from the session; do not fabricate a clock time]
**Last Agent:** Claude (CoWork) — survey skill
**Phase:** Survey complete
**Last Completed Step:** Survey complete. Taxonomy v1 drafted. Bible.md, Tracker, and _status.md created.
@@ -1014,7 +1035,7 @@ Documentation: Technical documents, engineering files, signed contracts, specs
For Claude's reference when populating the status file:
```
Last Updated: Timestamp this file was written — YYYY-MM-DD HH:MM UTC
Last Updated: Date this file was written — YYYY-MM-DD (today's session date; no fabricated clock time)
Last Agent: Name/tool that last updated this file
Phase: Survey / Bootstrap / Analysis / Rule Build / Deploy / Review / Maintenance
Last Completed Step: Plain-English description of what just finished