skills/skills/webby/SKILL.md
Simple team guide for website collaborators — checks your situation and tells you what to do in plain English
npx skillsauth add msifoss/ai-dlc webbyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Checks where you are and tells you what to do next. Plain English, step by step.
Webby is the teammate who always knows what's going on and explains it simply.
User invokes /webby with optional argument. If no argument, Webby figures out what you need based on your current situation.
| Word | What it means |
|------|---------------|
| (none) | Check everything and tell me what to do |
| start | I'm starting work for the day |
| save | I made changes and want to save them |
| share | I want my teammates to see my work |
| ship | I want to put my changes on the live website |
| help | Show me the basics |
Rules:
git add -A && git commit -m "your message"]Before saying anything, quietly gather state:
# Where are they?
BRANCH=$(git branch --show-current 2>/dev/null)
# Any unsaved changes?
DIRTY=$(git status --porcelain 2>/dev/null)
# Are they behind?
git fetch --quiet 2>/dev/null
AHEAD=$(GIT_PAGER=cat git log --oneline @{u}..HEAD 2>/dev/null | wc -l | tr -d ' ')
BEHIND=$(GIT_PAGER=cat git log --oneline HEAD..@{u} 2>/dev/null | wc -l | tr -d ' ')
# Any open PRs?
OPEN_PRS=$(gh pr list --state open --json number,title,author,headRefName,reviewDecision 2>/dev/null || echo "")
# What's their name? (for branch naming)
USERNAME=$(git config user.name 2>/dev/null || echo "")
# Recent team activity
RECENT=$(GIT_PAGER=cat git log --oneline --format="%an: %s" -5 2>/dev/null)
Then match to a situation and respond.
Check everything, then give ONE clear answer based on the situation.
Pick the FIRST situation that matches (priority order):
Hey! Your teammates made some changes while you were away.
[BEHIND] new update(s) from the team.
Here's what changed:
[list the commit messages]
**What to do:** Tell Claude to "grab the latest changes from the team"
[git pull --rebase origin master]
Do this before anything else.
You've been making changes, but they're on the main copy of the website.
That's fine — let's move them to your own workspace so they're safe.
**What to do:** Tell Claude to "create a branch for my changes called [suggest name based on changed files]"
[git checkout -b yourname/description]
Then tell Claude to "save my changes"
[git add -A && git commit -m "description"]
You have changes that aren't saved yet on your branch "[branch name]."
[list changed files]
**What to do:** Tell Claude to "save my changes"
[git add -A && git commit -m "description of what you changed"]
You have [N] saved change(s) on your branch "[branch name]" that your team hasn't seen yet.
**What to do:** Tell Claude to "share my branch with the team"
[git push -u origin branch-name]
[gh pr create --title "title" --body "what I changed"]
Your branch "[branch name]" has an open pull request (#[N]).
Review status: [PENDING / APPROVED / CHANGES_REQUESTED]
[If PENDING]: Waiting for a teammate to review. Ask them to take a look.
[If APPROVED]: Ready to merge! Tell Claude to "merge my pull request"
[gh pr merge N]
[If CHANGES_REQUESTED]: A teammate left feedback. Check the PR on GitHub to see what they said.
[gh pr view N --web]
Your teammate [name] shared their work and needs someone to look at it:
PR #[N]: "[title]"
**What to do:** Tell Claude to "show me [name]'s pull request"
[gh pr view N]
If it looks good, tell Claude to "approve [name]'s pull request"
[gh pr review N --approve]
You're all caught up! Everything is saved, shared, and in sync.
**Ready to start something new?** Tell Claude what you want to work on.
Examples:
"Add a new blog post about membership pricing"
"Update the header navigation"
"Fix the contact form layout on mobile"
Claude will create a branch and get you started.
If multiple situations apply, combine them in order. Example:
Two things:
1. Your teammates pushed 2 updates. Let's grab those first.
Tell Claude to "grab the latest changes"
2. Then you have unsaved changes to save.
Tell Claude to "save my changes"
start — Starting My DayRun the same checks as the default mode, but frame it as a morning checklist:
Good morning! Here's where things stand:
Your branch: master (up to date)
Team activity since you were last here:
- Chris: feat: Redesign header nav
- Mary: content: Migrate 15 blog posts
Open PRs that need attention:
- PR #12 from Mary — needs review
**What to do first:** Review Mary's PR.
Tell Claude to "show me Mary's pull request"
If there's nothing going on:
Good morning! Everything is quiet.
No new changes from the team. No PRs waiting.
**Ready to start?** Tell Claude what you want to work on today.
save — I Made ChangesCheck for unsaved work and walk through saving it:
DIRTY=$(git status --porcelain 2>/dev/null)
BRANCH=$(git branch --show-current 2>/dev/null)
If no changes:
Nothing to save — your work is already saved.
If on master with changes:
You have changes, but you're working on the main copy.
Let's put them on your own branch first so they're safe.
Step 1: Tell Claude to "create a branch called [suggest name]"
Step 2: Tell Claude to "save my changes with the message: [suggest message based on files]"
Or just tell Claude: "save my work" — Claude will handle both steps.
If on a branch with changes:
You changed these files:
[list files, grouped by type — pages, components, blog posts, etc.]
Tell Claude to "save my changes" or describe what you did:
"save my changes — I updated the pricing page and fixed a typo"
[git add -A && git commit -m "your message"]
Your changes are saved locally. When you're ready for teammates to see them,
run /webby share
share — Let The Team See My WorkBRANCH=$(git branch --show-current 2>/dev/null)
AHEAD=$(GIT_PAGER=cat git log --oneline @{u}..HEAD 2>/dev/null | wc -l | tr -d ' ')
EXISTING_PR=$(gh pr list --state open --head "$BRANCH" --json number,url 2>/dev/null)
If on master:
You're on the main branch. There's nothing to share — your changes
are already on the shared copy.
Did you mean to work on a branch? Tell Claude what you're working on
and it'll set one up for you.
If branch already has a PR:
Your branch "[branch]" already has a pull request: #[N]
Tell Claude to "push my latest changes" to update it.
[git push]
If branch has unpushed commits and no PR:
You have [N] saved change(s) that your team hasn't seen yet.
Step 1: Tell Claude to "push my branch"
[git push -u origin branch-name]
Step 2: Tell Claude to "create a pull request"
[gh pr create --title "title" --body "what I changed"]
Or just say: "share my work with the team" — Claude will do both steps.
If branch is already pushed and up to date, no PR:
Your branch is pushed but you haven't opened a pull request yet.
Tell Claude to "create a pull request for my branch"
[gh pr create]
ship — Put It LiveSimple version of preflight + deploy:
BRANCH=$(git branch --show-current 2>/dev/null)
DIRTY=$(git status --porcelain 2>/dev/null)
BEHIND=$(GIT_PAGER=cat git log --oneline HEAD..@{u} 2>/dev/null | wc -l | tr -d ' ')
DEPLOY_CONF=$(test -f scripts/deploy.conf && echo "yes" || echo "no")
Walk through step by step:
Let's get your changes on the live website. Quick checklist:
[x] On the master branch
[ ] No unsaved changes — you have 2 files unsaved (save them first)
[x] Up to date with team
[x] Deploy config ready
You need to save your changes first.
Tell Claude to "save my changes" then run /webby ship again.
When everything is ready:
Everything looks good! Ready to put your changes live.
The live site will be updated with these changes:
[list recent commits not yet deployed]
Tell Claude to "deploy the website"
[npm run deploy]
After it's done, check the site: https://msi.membies.com
help — Show Me The Basics# How We Work On This Website Together
**The basic flow:**
1. **Start your day** — run /webby start
See what the team's been up to and what needs attention.
2. **Do your work** — just tell Claude what you want to do.
"Add a blog post about payment reminders"
"Change the hero section text"
"Fix the spacing on the contact page"
3. **Save your work** — run /webby save (or tell Claude to "save my work")
This saves a snapshot of your changes.
4. **Share with the team** — run /webby share
Your teammates can see your changes and give feedback.
5. **Ship it** — run /webby ship (when your changes are approved)
Puts your changes on the live website.
**Key concepts (in plain English):**
- **Branch** = your own workspace. You make changes here without
affecting anyone else. Like a Google Doc suggestion vs. editing directly.
- **Save (commit)** = take a snapshot of your changes. You can save
as many times as you want. It's like hitting Ctrl+S.
- **Share (push + PR)** = show your branch to teammates. They can
review and approve it before it goes live.
- **Ship (deploy)** = put the approved changes on the real website
that visitors see.
**When in doubt:** just run /webby and it'll tell you what to do.
Throughout all modes, when relevant, include quick examples of common tasks the user might want to do next. Match examples to what the user seems to be working on (based on recent commits and changed files):
If recent work is blog posts:
Common things to do next:
"Add a new blog post about [topic]"
"Update the publish date on [post name]"
"Add tags to the latest blog posts"
If recent work is pages/components:
Common things to do next:
"Update the pricing section on the homepage"
"Add a new section to the about page"
"Fix the mobile layout on the contact page"
If recent work is config/deploy:
Common things to do next:
"Check if the site is working" → /webby ship
"Set up deploy access for a new teammate" → /webby help
development
Team sync for Astro website repos — checks git/GitHub/server state and tells you exactly what to do next
tools
--- name: ticky description: Full lifecycle ticket management — draft, submit, sync, and clean Azure DevOps work items across repos. user-invocable: true allowed-tools: Bash, Read, Write, Edit, Glob, Grep argument-hint: <mode> [args...] — modes: draft, submit, clean, update, get, create --- # Ticky — Full Lifecycle Ticket Management Manage Azure DevOps work items through their full lifecycle: draft locally, submit to ADO, sync status, and clean up cross-repo tickets. **CLI:** `${TICKY_HOME:-$
testing
# /staff — Staff Engineer Panel Analysis Convene a panel of 4 staff engineers from top tech companies + Will Larson as moderator to independently analyze a technical problem, debate options, and produce a consensus decision with implementation plan. > Like a real Staff Engineer round-table: each engineer brings their company's culture and battle scars. They disagree, challenge assumptions, find latent bugs, and converge on the smallest change that eliminates the actual risk. ## Trigger User
testing
# /prodstatus — CallHero Production Health Dashboard > **CONFIDENTIAL** — This skill contains internal infrastructure references (resource names, stack identifiers, queue names). Do not share outside the team or commit to public repositories. > Read-only diagnostic skill. No writes, no deploys, no doc updates. Pure observability. ## When to Use - Quick health check before a deploy - After a deploy to verify both stacks - Investigating an alarm or incident - Weekly status review ## Platform