Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"portfolio",
"review"
],
"version": "1.1.6"
"version": "1.1.7"
}
]
}
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

## Skill and plugin releases

Read `RELEASING.md` before changing a skill or plugin. Use `release-registry.json` as the source and version map. Update existing GitHub, ChatGPT, Claude, and public catalog records together. Preserve listing identities and private data. Generated copies must come from canonical files. Report any destination that could not be verified.
Read `RELEASING.md` before changing a skill or plugin. Use `release-registry.json` as the source and version map. Update existing GitHub, ChatGPT, Claude and public catalog records together. Preserve listing identities and private data. Generated copies must come from canonical files. Report any destination that could not be verified.
10 changes: 5 additions & 5 deletions docs/example-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ records or preliminary presentation slides were used.
## Scope

I reviewed the public README, Family Neighborhood case study and setup notes, recording guide,
license, and third-party notices at the linked commit. I did not access an Airtable base or
license and third-party notices at the linked commit. I did not access an Airtable base or
test the interface. The target's default branch was `main` when checked.

## Assessment

**Verified:** The [README](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/README.md)
gives visitors a clear four-version design story and links the prompts, V3 source, setup notes,
field map, fictional fixture, and recording. The [setup notes](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/family-neighborhood/README.md)
field map, fictional fixture and recording. The [setup notes](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/family-neighborhood/README.md)
state the 48-field remapping cost and distinguish a source snapshot from a deployed interface.
The [license](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/LICENSE)
and [third-party notices](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/THIRD_PARTY_NOTICES.md)
make the reuse boundary visible.

## Priorities

1. **Verified — Add the promised visual comparison.** The [README says the case study contains
1. **Verified: Add the promised visual comparison.** The [README says the case study contains
screenshots](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/README.md#L9-L11),
but the [case study at this commit](https://github.com/RachaelQuisel/Airtable-AI-Webinar/blob/8a5ccbfb275318ab471e92554c7286b4ecea9c11/docs/family-neighborhood-case-study.md)
contains no embedded frames or image links. A visitor has to download the full recording to
Expand All @@ -34,9 +34,9 @@ make the reuse boundary visible.

## Limits

The public files establish the design decisions, source snapshot, and documented setup path.
The public files establish the design decisions, source snapshot and documented setup path.
They do not establish a deployed V3 interface, persistent Airtable writes, behavior in another
base, or measured user outcomes. The recording was identified in the public repository, but I
base or measured user outcomes. The recording was identified in the public repository, but I
did not independently inspect its frames for this example. I did not assess code correctness or
security. The observation about missing images applies to the linked commit and should be
rechecked if the repository changes.
3 changes: 3 additions & 0 deletions docs/sample-portfolio-page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html><meta charset=utf-8><title>Rachael Quisel: automation for small businesses</title><style>body{font-family:system-ui;margin:0;color:#1d1d1f}header{background:#12324a;color:#fff;padding:64px 8vw}header p.lead{font-size:1.6rem;max-width:44ch}.stats{display:flex;gap:48px;margin-top:32px}.stats b{display:block;font-size:3.5rem}main{padding:48px 8vw;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}video{width:100%;border-radius:8px;display:block}article img{width:100%;border-radius:8px}a{color:#0a5fa8}.btn,.btn2{display:inline-block;padding:12px 20px;border-radius:999px;font-weight:600;text-decoration:none;margin:24px 12px 0 0}.btn{background:#f5b942;color:#12324a}.btn2{border:2px solid #fff;color:#fff}.proof{opacity:.85;margin-top:20px}.cardproof{font-size:.9rem;color:#555}footer{background:#12324a;color:#fff;padding:48px 8vw}</style>
<header><p class=lead>Automating my vacation rental led me to a career I love. Now I help other business owners automate their work and get their time back.</p><div class=stats><div><b>$180,000</b>gross per year at La Maison Santa Barbara</div><div><b>About 5 hours</b>a week of my time</div><div><b>About 900</b>five-star reviews on Airbnb and VRBO</div></div><p class=quote>&ldquo;Hosting a thousand guests a year took 20+ hours a week until I automated my workflows. I cut that number down to 5 hours.&rdquo; (<a style="color:#9cd" href="https://airbnbai.rent/">airbnbai.rent</a>)</p><p class=proof>Airbnb Guest favorite &middot; 4.97 rating &middot; top 5% of eligible listings &middot; about 900 five-star reviews (600+ on Airbnb and about 300 on VRBO)</p><p class=cta><a class=btn href="https://airbnbai.rent/#contact">Book a call to automate your business</a> <a class=btn2 href="mailto:rachael@xray.tech">rachael@xray.tech</a></p></header>
<section style="padding:48px 8vw 0"><h2>La Maison Santa Barbara</h2><p>About 900 five-star reviews so far: more than 600 on Airbnb and about 300 on VRBO.</p><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/la-maison-five-star-poster.webp" style="max-width:1200px"><source src="https://airbnbai.rent/assets/la-maison-five-star-standard.mp4" type="video/mp4"></video><p><a href="https://airbnbai.rent/assets/la-maison-five-star-standard.mp4">Watch the five-star standard video</a></p></section><main><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/booking-sync-poster.webp"><source src="https://airbnbai.rent/assets/booking-sync-1920x1080.mp4" type="video/mp4"></video><h3>Booking sync to a shared calendar</h3><p>Airbnb and Vrbo booking emails come into one inbox and land on a shared calendar. Changes and cancellations update the calendar, and cleaners get a text.</p><p><a href="https://airbnbai.rent/assets/booking-sync-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/booking-sync">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/cleaner-job-texts-poster.webp"><source src="https://airbnbai.rent/assets/cleaner-job-texts-1920x1080.mp4" type="video/mp4"></video><h3>Schedule your cleaners by text</h3><p>Your cleaner gets a text, picks the dates they want to clean and is signed up on your shared calendar.</p><p><a href="https://airbnbai.rent/assets/cleaner-job-texts-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/cleaner-signups">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/cleaning-calendar-poster.webp"><source src="https://airbnbai.rent/assets/cleaning-calendar-1920x1080.mp4" type="video/mp4"></video><h3>When your cleaner can't make it, the next one is asked automatically</h3><p>Each booking creates a cleaning task and a calendar invite. If a cleaner declines, it goes to the next one, and you get a text if a day still needs coverage.</p><p><a href="https://airbnbai.rent/assets/cleaning-calendar-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/cleaning-coverage">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/guest-door-codes-poster.webp"><source src="https://airbnbai.rent/assets/guest-door-codes-1920x1080.mp4" type="video/mp4"></video><h3>Door codes for every guest, assigned and revoked automatically</h3><p>A guest books and gets their own door code, sent in the welcome message, a week before and a day before their stay. Every guest and contractor has a unique code, and each code is revoked after checkout and never reused.</p><p><a href="https://airbnbai.rent/assets/guest-door-codes-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/guest-door-codes">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/property-inspection-poster.webp"><source src="https://airbnbai.rent/assets/property-inspection-1920x1080.mp4" type="video/mp4"></video><h3>When an inspection finds a problem, the right contractor is scheduled automatically</h3><p>Your inspector works through a checklist app. When they flag a problem, one tap texts the right contractor, who picks the next open time. Everyone gets a confirmation by text and email, and your maintenance channel is updated.</p><p><a href="https://airbnbai.rent/assets/property-inspection-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/inspection-follow-up">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/tax-prep-poster.webp"><source src="https://airbnbai.rent/assets/tax-prep-1920x1080.mp4" type="video/mp4"></video><h3>Monthly TOT and TBID tax prep</h3><p>Payouts and charges from your booking platforms land in a database, a script calculates TOT and TBID, maps the numbers onto the city tax form, and an audit script checks the totals add up.</p><p><a href="https://airbnbai.rent/assets/tax-prep-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/monthly-reporting">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/ops-today-poster.webp"><source src="https://airbnbai.rent/assets/ops-today-1920x1080.mp4" type="video/mp4"></video><h3>A morning briefing in Slack so your whole team starts the day on the same page</h3><p>Every morning, a briefing is built automatically and posted to your team's Slack channel before the workday starts: alerts, bookings, reviews, money, guest messages and cleaning coverage in one post, so everyone sees the same plan.</p><p><a href="https://airbnbai.rent/assets/ops-today-1920x1080.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/la-maison-github/tree/main/workflows/ops-today">How it works</a></p></article><article><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/daily-pricing-sync-poster.webp"><source src="https://airbnbai.rent/assets/daily-pricing-sync-1920x1080.mp4" type="video/mp4"></video><h3>Every night priced right on Airbnb and VRBO</h3><p>Every night on Airbnb and VRBO stays priced the way you set it. Each morning it checks the next 12 months, fixes any night that's off and posts a short report to your Slack.</p><p><a href="https://airbnbai.rent/assets/daily-pricing-sync-1920x1080.mp4">Watch the video</a></p></article></main><section style="padding:0 8vw 64px"><h2>Also built: a task tool for teams</h2><article style="max-width:640px"><video autoplay muted loop playsinline preload="metadata" poster="https://airbnbai.rent/assets/friendly-task-tracker-poster.webp"><source src="https://airbnbai.rent/assets/friendly-task-tracker.mp4" type="video/mp4"></video><h3>Friendly task tracker</h3><p>A task tracker for property managers, cleaners or inspectors working across many houses. Each house shows whether its tasks are on track, due soon or overdue, and finished tasks earn points. My own rental is a single home, but this tool is built for teams covering several properties.</p><p><a href="https://airbnbai.rent/assets/friendly-task-tracker.mp4">Watch the video</a> · <a href="https://github.com/RachaelQuisel/Airtable-AI-Webinar">Source on GitHub</a></p></article></section><section style="padding:0 8vw 64px"><h2>Workshops</h2><p>I lead Automate Your Business workshops at <a href="https://luma.com/bzdez39g">Kiva</a> and online with <a href="https://workspace.xray.tech/events">XRAY</a>.</p><ul><li>Hands-on walkthrough</li><li>Q &amp; A</li><li>Leave with a tangible solution</li></ul><p>All the workshop materials are in <a href="https://github.com/RachaelQuisel/Automate-Your-Business">Automate Your Business</a>. Two to start with:</p><ul><li><a href="https://github.com/RachaelQuisel/Automate-Your-Business/tree/main/workshops/2026-09-30-the-colleague-audit"><b>The Colleague Audit</b></a>: stop chatting with AI and start delegating to it. Built from the story of how Grok Bot was built in a month.</li><li><a href="https://github.com/RachaelQuisel/Automate-Your-Business/tree/main/workshops/2026-09-30-the-loop-audit"><b>The Loop Audit</b></a>: stop automating tasks and start automating loops.</li></ul></section><footer><h2>Want this for your business?</h2><p>I build automations like these for other business owners.</p><p class=cta><a class=btn href="https://airbnbai.rent/#contact">Book a call to automate your business</a> <a class=btn2 href="mailto:rachael@xray.tech">rachael@xray.tech</a></p></footer>
8 changes: 4 additions & 4 deletions docs/verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## November 3, 2026

The source release is **1.1.6**. This release includes the benefits-first README and listing descriptions. It also separates terminal commands from Claude Code prompts and adds instructions for updating existing installations. The skill's review behavior is unchanged; its version was updated to match the package.
The source release is **1.1.7**. This release adds portfolio page output: when asked for a page instead of a review, the skill follows `references/portfolio-page.md` and a sample page is in `docs/sample-portfolio-page.html`. Release 1.1.6 added the benefits-first README and update instructions.

Before this documentation release, the authenticated Claude publisher portal showed **1.1.3** at commit `8196f3112ad2b7f65c3b69c7144577adfab310a0` as approved after its security scan. The serving public version was **1.1.0** at `d54312ec485c2d2089e52c65e1269d2ea336dd2f`. The portal required an Anthropic reviewer to publish the update. That observation does not establish approval or publication of 1.1.6.

Expand All @@ -26,7 +26,7 @@ Historical checks below were recorded October 3, 2026 against the local plugin p

At that check, the plugin manifest was version **1.1.0**. The recorded fresh-install test below covers **1.0.1**, not 1.1.0. A new installation and behavior test for 1.1.0 is still required. The audit environment did not have Claude Code, so it did not run `claude plugin validate` or an installation test.

The October 16 repository inspection confirmed parseable plugin and marketplace JSON, matching package names, a resolvable marketplace package path, one SKILL.md, and the referenced icon file. These are structural checks only, not a security scan, live behavior test, or Anthropic approval.
The October 16 repository inspection confirmed parseable plugin and marketplace JSON, matching package names, a resolvable marketplace package path, one SKILL.md and the referenced icon file. These are structural checks only, not a security scan, live behavior test or Anthropic approval.

The icon fix is committed at [021198c](https://github.com/RachaelQuisel/github-portfolio-builder/commit/021198ca0bbebc1ac530e42d701c39993fdf0f25). Its follow-up portal scan and approval remain unverified. The publisher portal requires access through the submitting account and organization.

Expand All @@ -38,11 +38,11 @@ The icon fix is committed at [021198c](https://github.com/RachaelQuisel/github-p
| Claude Code plugin manifest | Passed | `claude plugin validate plugins/github-portfolio-builder` |
| Skill metadata | Passed | `quick_validate.py` with PyYAML |
| Claude Code repository reviews | Previously exercised | Two unrelated public repositories were reviewed during initial development. Re-run after material behavior changes. |
| Claude Code profile review | Passed local behavior check | With the local plugin loaded, a review of an unrelated public profile (`jvns`) identified the profile README and pins, sampled relevant repositories, linked file-specific claims, labeled role uncertainty, and stated coverage limits. No write action was requested or observed. |
| Claude Code profile review | Passed local behavior check | With the local plugin loaded, a review of an unrelated public profile (`jvns`) identified the profile README and pins, sampled relevant repositories, linked file-specific claims, labeled role uncertainty and stated coverage limits. No write action was requested or observed. |
| Empty or ambiguous public profile | Passed local behavior check | A separate public username with no visible work produced a scope and identity gap instead of invented portfolio recommendations. |
| Claude chat and Cowork | Not tested | A Claude Code result does not establish behavior on these surfaces. |
| Fresh install from the public marketplace | Passed | Using an isolated `CLAUDE_CONFIG_DIR`, `claude plugin marketplace add RachaelQuisel/github-portfolio-builder` and `claude plugin install github-portfolio-builder@github-portfolio-builder` succeeded. `claude plugin details` showed version 1.0.1 and one skill. |
| Claude Directory | Listing unverified | Portal validation, source connection, disclosures, submission, review, and visible listing are separate checks. |
| Claude Directory | Listing unverified | Portal validation, source connection, disclosures, submission, review and visible listing are separate checks. |

These checks establish package validity and sampled review behavior. They do not enforce read-only access. The host controls tool permissions, and a read-only GitHub MCP is optional.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "github-portfolio-builder",
"displayName": "GitHub Portfolio Builder",
"version": "1.1.6",
"version": "1.1.7",
"description": "Build a stronger GitHub portfolio. Highlight your best work, explain your contributions, and get a prioritized plan for what to improve.",
"author": {
"name": "Rachael Quisel"
Expand Down
2 changes: 1 addition & 1 deletion plugins/github-portfolio-builder/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"defaultPrompt": null
},
"name": "github-portfolio-builder",
"version": "1.1.6",
"version": "1.1.7",
"description": "Build a stronger GitHub portfolio. Highlight your best work, explain your contributions, and get a prioritized plan for what to improve.",
"author": {
"name": "Rachael Quisel"
Expand Down
Loading
Loading