Fix SKILL.md: correct sound-effects.md → sfx.md, add 5 missing rule e… - #10
Open
Graehamwatts wants to merge 620 commits into
Open
Fix SKILL.md: correct sound-effects.md → sfx.md, add 5 missing rule e…#10Graehamwatts wants to merge 620 commits into
Graehamwatts wants to merge 620 commits into
Conversation
…ure-analyzer, newsletter-generator) -> direct git + brand validator Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…TP fallback Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…unters now explicit opt-in
…dict language unless asked
PCFS operation moved from Cowork to Claude Code 2026-06-10. Captures the post-rebuild truths SKILL.md predates: n8n.graehamwattsn8n.com via n8n-mcp, Actions By Date as the live schedule tab, the temp-workflow Sheet access pattern, verified GHL field IDs, and the non-negotiable sync/zero-guard rules. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…wire copywriter to load it Source: AI Marketing Academy 'Marketing-Psychology Claude Skill' super skill (June 2026). Adapted frontmatter + Local Adaptations section: loaders point at our real skills, brand identity from shared-references/identity.json, humanizer stays the final pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…put (full 5 steps for scripts, quick path for hooks/captions) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, archetypes 7-10, withdraw recycled June 15 options
Graeham flagged that emailed options kept recycling the same hooks. Audit
of the 6 mailed cards confirmed: archetype rotation alone missed repeated
CTAs (valuation on 4 of 6), repeated villain (Zillow on 3), and repeated
core claims ('I have buyers' twice). Library now tracks all four axes
with cooldowns; Workflow B enforces the check.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… + Notes&Caveats sections even on MLS runs; chart set = same as listing/buyer + monthsInv + newList required; fix contradictory Public Data Notice + Honest Caveats checklist items (root cause of Basswood 6/8 miss); plain opener per Graeham 2026-06-11
…older, push to GitHub, automation reads canonical SKILL.md, brand/banned-language compliance)
…-hint Context Hint Library, adapted for Graeham Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ly-owned home; unknown address = hold + title-plant lookup, never a former-home report
…6-11): CMA only on currently-owned home; out-of-state owner = public-data CMA on that home; owns nothing = relationship cadence only; Justin To canonical example
…ner, mandatory humanizer Template (weekly-status-report.html): - Add OFFER BANNER near the top (renders only when offers >= 1) so an offer is the headline, not an appendix line. - Add TRAJECTORY / week-over-week: climbing bars + trend table (per-week showings, disclosure pulls, new feedback; Earlier rollup; Total; current week highlighted) + momentum chip. - Add "What Buyers Are Telling Us" summary bullets above the detailed feedback tables (detail retained below). - De-dash authored prose; verbatim agent quotes left as-is. SKILL.md: - Document the cumulative-export week-over-week model and the new generate_report.py JSON fields. - Add mandatory Step 4b: humanize all prose before publishing (no em dashes), with a fallback checklist and a final em-dash scan. - Fix stale Composio push step -> direct git push; add brand-tripwire reminder. generate_report.py (already committed in f31387c): weekly bucketing from dated cumulative export, real deltas, momentum, offer-signal detection, ranked feedback themes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…d / pending) A received offer is NOT a locked deal. The skill now models three distinct states with their own colors: - received = amber (a decision is due from the seller; status strip goes amber, not green) - accepted = green (escrow opening) - pending / in contract = blue (in escrow, contingencies in progress; shows an escrow step strip) - template: offer-banner state variants (.received/.accepted/.pending), oc-state subline, oc-steps escrow strip; fixed the example banner that mixed a "Received" flag with an "Accepted" badge. - generate_report.py: determine_status now derives status from the top offer state (received->amber, accepted->green, pending/in_contract->blue) and emits offer_state. - SKILL.md: status table + offer-state taxonomy documenting that the states are not interchangeable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…oring
- generate_report.py: build_chart_svg() emits a ready-to-embed inline SVG line chart (cumulative disclosure downloads + showings, Start origin so it climbs). Weeks now renumber from the first-activity/launch week (Week 1), dropping empty pre-launch weeks so they never show as zeros. Emits chart_svg + offer_state.
- template: trajectory now embeds the script's {{TREND_CHART_SVG}} instead of hand-built bars (bars CSS kept as fallback).
- SKILL.md: document chart_svg, launch-week anchoring, and offer_state -> banner color/status.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…endar-builder.py The script was truncated in commit 79daecd (May 2026 social-media-analyzer consolidation) — a bulk find-and-replace mangled the final two lines, leaving `if __name__ == "` (unterminated string literal). Every run since failed with SyntaxError, so the weekly calendar HTML could not be generated. Restored the entry point: if __name__ == "__main__": main() Verified: py_compile passes + end-to-end render smoke test produces valid HTML. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…r, list-price-vs-narrative consistency guardrail, sliding-scale commission option, junk/vendor-coordination line item, tax/legal out-of-scope guardrail, tight objection-handling proposal standard Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…inum, in skill + template
…rrection - Expected Sales Price callout must match tier-card .val sizing (22px), not a 36px hero number - Tier cards no longer restate a second "Expected sale" figure or DOM; the Expected Sales Price is stated once at the top, never re-derived per card - DOM stays off tier cards by default, added only when Graeham asks for it on that report - Also fixes the earlier "whose you" voice bug: comps sourced from a verbal/phone exchange with Graeham must be normalized into neutral third-person comp prose, never a "what you described vs verified" comparison table in client output
…line; fix Janet->Janelle Boyenga typo (confirmed via MLS DRE lookup)
…nd xlsx crash bugs Roster grows to 4 entries - the shared Boyenga Team license accounts for 962 of 971 transactions not already covered by the three individual DREs. Fixed parse_merge.py silently dropping Farm/Ranch and Other-class sales, and build_xlsx.py crashing on records missing beds/baths/sqft/lot_size (known gap: those fields aren't captured by the current regex, documented in SKILL.md for a future fix). Disclosure text in build_html.py updated to name all four DREs searched.
…erentiation-checked, 2nd landing page CTA Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… pixel-wrapped links; document as approved pattern Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… front-QR structural addition kept Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…l CTA, now the default pattern Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…d confirmed, real home-valuation page found + wired, front-QR clone built but copy edit blocked by frozen builder Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… 1 card final) - Confirmed Switchy is live (real token + real pixel IDs, not placeholders) - Confirmed sold-property display IS permitted on the MLS (was misread earlier as blocked; it was just further down the IDX Broker status multi-select) - Built a real IDX Broker Prime Map Search widget (Sold, defaulted to EPA, pannable) and wrapped it in a pixeled Switchy link for the 09/01/26 card's sole QR - Logged the reconciliation gap between the Phase 2 generator's own UTM tagging and the Switchy-wrapped links now used for real prints Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…(Phase 7) Appended the new tenant-occupied-selling-data BOFU topic per Phase 7 of script-writer/instructions.md, and pruned the prior week_of 2026-04-27 history entry + the stale epa-homes-around-1m in_production entry (both 16+ weeks old, past the 4-week auto-prune window). Also created previous_topics.txt at the content-creation-engine root (did not exist). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…rns -> 53, adds 5 voice profiles, 0-100 AI-tell score, always-on templates. Same skill name/path, no downstream references need updating.
…udget - Real MLSListings public remarks limit is 1300, not the 1500 this skill defaulted to; every draft was structurally ~200 chars over the field. - RULE 1: mechanical character count is a hard gate. Adds scripts/charcount.py (collapses whitespace like the MLS field, reports over/under, prints per-sentence cost table for targeted trimming). Target band 1200-1300, reserve-first for disclosure language, trim ladder and fill ladder, per-section character allocation. - RULE 2: never repeat the MLS data card (address, bed/bath/sqft/lot/ year, City-County-ZIP close) - those live in structured fields that every feed and AI search layer already reads. Exception carved out for when a spec is carrying an argument (lot size for an SB 9 pitch, year built for condition framing). Same rule for flyers, brochures, postcards, single-property sites; surface table added. - Humanize-then-recount ordering, 5-point delivery checklist. - County-record vs walkthrough conflict rule (unpermitted additions). - All three worked examples rewritten and their stated character counts verified mechanically (1239 / 1228 / 1299). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…html-email) farming-postcard: push step now points at the SessionEnd auto-push hook / direct git property-os-sync: commit-format convention kept, dead-skill justification dropped meta-ads: report handoff now targets direct git publish to online-content Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ty.json The SessionEnd auto-push hook was blocking every Skills push (TRIPWIRE FAIL, repeatedly through 2026-08-27) because four QC files hardcoded the blocked DRE as a literal for enforcement purposes, and the hook's exemption list did not know them. Instead of widening the exemption list, all four now load the blocklist from shared-references/identity.json at runtime (fail closed): - track-record-map/scripts/qc_check.py: blocklist + correct DRE from identity.json - weekly-listing-update/scripts/validate_report.py: BANNED_BRAND built from identity.json - content-creation-engine/references/dashboard-manifest.json: brand literals replaced with source pointer - content-creation-engine/scripts/validate_dashboard.py: reads identity.json, not the manifest - track-record-map/SKILL.md: prose no longer prints the blocked number git grep with the hook's exact exclusions now returns zero hits. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
These skills existed ONLY in Cowork's disposable plugin cache with no Documents source: carousel-builder, education-graeham-videos, heygen-elevenlabs-renderer, long-form-youtube-content, pipeline-dashboard, split-screen-avatar-reel, video-editor, viral-hook-library, viral-video-engine. Now version-controlled like everything else. Branding fixes before import: carousel-builder contact lines and the viral-video-engine end card said Intero; both now say Compass. Also: ghl-crm-audit phantom deleted from cache + manifest (the real GHL audit process is shared-references/integrations.md §12) and added to FINAL-FIX-zombie-skills.ps1's zombie list so it stays dead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes for SKILL.md
Bug fix: broken
sound-effects.mdreferenceThe
## Sound effectssection referenced./rules/sound-effects.md, but the actual file is namedsfx.md. This caused a broken link that would prevent agents from loading sound effects documentation.Fix: Changed reference to
./rules/sfx.md.Added missing rule entries to the index
The following 5 rule files existed in the
rules/directory but were not listed in the## How to usesection or the## Captionssection:display-captions.md- added to both Captions section and the full listimport-srt-captions.md- added to both Captions section and the full listtranscribe-captions.md- added to both Captions section and the full listsubtitles.md- added to the full listsfx.md(was listed assound-effects.md) - corrected and added to the full listaudio-visualization.md- added to the full list (was mentioned in the header section but missing from the index)