
Claude Skills by egregore-labs
github.com/egregore-labsReview a pull request with CTO-level scrutiny. Designed for vibe-coded PRs. Arguments: $ARGUMENTS
TUI Design System for Egregore slash commands. Use this skill when designing or modifying any command's terminal output to ensure visual consistency.
**Date**: {YYYY-MM-DD} **Usage type**: {usage_type} **Duration**: Steps 1-4
for i in 1 2 3; do git pull --rebase origin main --quiet && git push origin main --quiet && break if [ $i -eq 3 ]; then echo "Push failed after 3 attempts. Try /save again." exit 1 fi sleep 1 done cd - ``` - User sees: "Memory pushed" 3. **For egregore** (commands, scripts, config): - Ensure on a working branch (`dev/*`, `feature/*`, or `bugfix/*`). If not (e.g. still on develop), create one: - Derive a topic slug from the changes being saved (look at modified files, commit messages, or conve...
MEMORY_REPO=$(jq -r '.memory_repo' egregore.json) MEMORY_DIR=$(basename "$MEMORY_REPO" .git) GITHUB_ORG=$(jq -r '.github_org' egregore.json) Checking for $MEMORY_DIR... IF not exists (as sibling ../$MEMORY_DIR): git clone https://github.com/$GITHUB_ORG/$MEMORY_DIR.git ../$MEMORY_DIR ✓ Cloned IF already exists: cd ../$MEMORY_DIR && git pull ✓ Already have it, pulled latest Creating symlink so Claude can access it from here... ln -s ../$MEMORY_DIR ./memory ✓ Linked as ./memory [2/3] Registering...
BASE_BRANCH="main" git show-ref --verify --quiet refs/heads/develop 2>/dev/null && BASE_BRANCH="develop" CURRENT_BRANCH=$(git branch --show-current) IN_WORKTREE="false" if [ -f .git ]; then IN_WORKTREE="true" WT_GITDIR=$(sed 's/^gitdir: //' .git) MAIN_DIR=$(cd "$WT_GITDIR/../../.." && pwd) fi ```
Summon a spirit — a persistent agent that runs on a schedule or watches for conditions. Unlike `/loop` (dumb scheduler), `/summon` designs the process through adaptive questioning, produces a reviewable spec, then launches it.
FILE="memory/quests/${name}.md" ls memory/quests/*.md | grep -i "$name" | head -1 ``` **Handoff**: Search `memory/handoffs/` recursively (files are in date subdirectories): ```bash find memory/handoffs/ -name "*.md" -not -name "index*" | grep -i "$name" | head -1 find memory/handoffs/ -name "*.md" -not -name "index*" | grep -i "$name" | sort -r | head -1 ``` **Activity**: No file resolution needed — runs `bin/activity-data.sh` live. **Board / Network**: No file resolution needed. `board` read...
Explain concepts visually using ASCII diagrams, flow charts, tables, and structural maps. Use when asked to explain, compare, or show how something works.
MEMORY_DIR=$(basename "$(jq -r '.memory_repo' egregore.json)" .git) REPOS=$(jq -r '.repos[]? // empty' egregore.json) ```
Set up Telegram as a notification center for your Egregore. Arguments: $ARGUMENTS (none expected)
**Date**: YYYY-MM-DD **Author**: [author] **Branch**: [branch] **Session**: [session ID]
Manage telemetry settings. Shows status by default.
Validate changes before /save. Topic: $ARGUMENTS
Manage personal todos.
See what's happening across the team — recent sessions, handoffs, and open work. Display it immediately — no preamble, no narration, no reasoning text. Output the box and nothing else before AskUserQuestion.
Add a document, link, or artifact to shared memory.
Send an announcement to the Telegram group. Drafts a message, shows a preview for approval, then sends.
**Date**: YYYY-MM-DD **Author**: {author} **Category**: pattern **Subtype**: prompt-chain **Topics**: {topic1}, {topic2} **Move types**: {type1}, {type2}, ...
bash bin/graph.sh query "MATCH (s:Session)-[:BY]->(p:Person {name: '$me'}) RETURN s.topic AS topic, s.summary AS summary ORDER BY s.date DESC LIMIT 5" bash bin/graph.sh query "MATCH (q:Quest {status: 'active'})-[:STARTED_BY|:CONTRIBUTED_BY*]->(p:Person {name: '$me'}) RETURN q.title AS title" bash bin/graph.sh query "MATCH (a:Artifact)-[:CONTRIBUTED_BY]->(p:Person {name: '$me'}) RETURN a.title AS title, a.type AS type ORDER BY a.created DESC LIMIT 5" bash bin/graph.sh query "MATCH (s:Session)-...
Create a working branch from what you're working on. Description: $ARGUMENTS
Run diagnostics on your Egregore environment. Check every service and dependency, render a TUI diagnostic box, and auto-fix what you can.
Stage changes and commit with a message. Message (optional): $ARGUMENTS
gh repo fork "$UPSTREAM_REPO" --clone=false 2>/dev/null || true if ! git remote get-url contribute &>/dev/null; then REPO_NAME=$(echo "$UPSTREAM_REPO" | cut -d'/' -f2) git remote add contribute "https://github.com/${GH_USER}/${REPO_NAME}.git" 2>/dev/null fi git fetch contribute --quiet 2>/dev/null || true git fetch upstream main --quiet 2>/dev/null || true ``` Derive topic slug: ```bash SLUG=$(echo "$DESCRIPTION" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g; s/--*/-/g; s/^-//; s/-$//' ...
Use when generating or modifying any visual output that renders in a browser or artifact viewer: HTML pages, CSS, React SSR components, Egregore artifacts, markdown renderers, web components, design-system tokens, Tailwind themes, or standalone demos. Triggers on requests involving dark mode, theme toggles, color systems, card surfaces, browser rendering, or visual polish. The load-bearing lesson: if React SSR emits an inline hex color through `style={}`, CSS dark-mode overrides cannot reach ...
See your recent sessions, open handoffs, and current work at a glance. Display it immediately — no preamble, no narration, no reasoning text. Output the box and nothing else before AskUserQuestion.
**Date**: {YYYY-MM-DD} **Author**: {author} **Category**: {category} **Topics**: {topics} **Analysis**: deep-reflect {MODE} {DIRECTION} **Lens**: {LENS or "open"} **Run ID**: {RUN_ID} {body — generative, written by Opus} ---
Remove a member from this Egregore. Revokes access across GitHub, Supabase, and Neo4j.
Use when writing any external communication for Egregore — essays, launch posts, website copy, announcements, README prose, social content, or any text that represents Egregore to the world. Triggers on: 'write this for the site', 'draft the announcement', 'help me write this essay', 'landing page copy', 'external post', 'blog post', 'Archive Fever', 'write in my voice', or any task producing text that an outside reader will see. Do NOT use for internal docs, CLAUDE.md files, handoffs, code c...
Configure environment variables for current project.
**Date**: YYYY-MM-DD **Author**: <Display Name> **To**: <recipient, if any> **Project**: <project, if identifiable>
bash bin/graph.sh query "MATCH (p:Person) RETURN p.name AS name, p.role AS role, p.domain AS domain" 2>/dev/null || true bash bin/graph.sh query "MATCH (h:Harvest) WHERE h.topic CONTAINS \$topic RETURN h.id, h.status, h.created ORDER BY h.created DESC LIMIT 3" '{"topic":"$TOPIC"}' 2>/dev/null || true bash bin/graph.sh query "MATCH (a:Artifact) WHERE a.title CONTAINS \$topic OR \$topic IN a.topics RETURN a.title, a.type, a.created ORDER BY a.created DESC LIMIT 5" '{"topic":"$TOPIC"}' 2>/dev/nu...
View or register infrastructure services. Reads from the shared service registry so any session can find service names, URLs, and credential locations.
bash bin/connector-google.sh promote <service> <id> ``` Then write the markdown file to `memory/knowledge/sources/google/`: File naming: `YYYY-MM-DD-<service>-<slug>.md` Content format: ```yaml --- title: "<title>" type: source origin: google-<service> google_id: <id> author: <username> date: YYYY-MM-DD summary: "<summary>" topics: [topic1, topic2, topic3] mentions: [person1, person2] quests: [quest-name] --- <content> ``` Create the Artifact node and connections via graph queries: ```bash ba...
**Date**: YYYY-MM-DD **Participant**: {name} **Researcher**: {researcher} **Type**: {onboarding|feedback|research|exit} **Source**: {Granola (doc-id) | file path | pasted} **Emotional Arc**: {opening} → {closing} **Engagement**: {level}
Unified content ingestion router. Dispatches to type-specific analysis pipelines. Arguments: $ARGUMENTS (Optional: subcommand — "meeting", "user-interview", "google", or search term)
CORE=$(curl -s -o /dev/null -w "%{http_code}" -X PUT \ -H "Authorization: Bearer $GH_TOKEN" \ -H "Accept: application/vnd.github+json" \ "https://api.github.com/repos/$GITHUB_ORG/$REPO_NAME/collaborators/$USERNAME" \ -d "{\"permission\":\"push\"}") MEM=$(curl -s -o /dev/null -w "%{http_code}" -X PUT \ -H "Authorization: Bearer $GH_TOKEN" \ -H "Accept: application/vnd.github+json" \ "https://api.github.com/repos/$GITHUB_ORG/$MEMORY_NAME/collaborators/$USERNAME" \ -d "{\"permission\":\"push\"}"...
Report an issue. Captures context and routes to the right place.
Show your profile or change how you're known across Egregore.
**Date**: YYYY-MM-DD **Attendees**: {names} **Source**: Granola ({doc-id}) **Approach**: {description of analysis approach chosen} **Intent**: {what the user asked for} **Tone**: {tone description} | Alignment: {score}
**Date**: {YYYY-MM-DD} **Type**: {thought | session | retrospective | journal} {Content — the user's words, expanded if needed but preserving their voice} ``` Keep it minimal. No Neo4j. No git operations. No push. Just a file. Short confirmation, no TUI box needed: ``` ✎ Saved to .egregore/notes/{filename} Private — only visible in your sessions. /note share "{title}" to contribute to shared memory. ```
HAS_NAME=$(jq -r '.display_name // empty' .egregore-state.json 2>/dev/null) if [ -n "$HAS_NAME" ]; then NEW_PHASE="invite" else NEW_PHASE="orient" fi jq --arg p "$NEW_PHASE" '.onboarding.phase = $p' .egregore-state.json > .egregore-state.tmp && mv .egregore-state.tmp .egregore-state.json FIELDS="[]" [ -n "$HAS_NAME" ] && FIELDS=$(echo "$FIELDS" | jq '. + ["name"]') jq --argjson f "$FIELDS" '.profile_fields_collected = $f' .egregore-state.json > .egregore-state.tmp && mv .egregore-state.tmp .e...
Create a pull request for current branch targeting the repo's base branch.
Show project status — linked quests, recent artifacts, entry points. Arguments: $ARGUMENTS (Optional: project name)
git fetch origin develop:develop --quiet CURRENT=$(git branch --show-current) if [[ "$CURRENT" == dev/* ]]; then git rebase develop --quiet || (git rebase --abort && git merge develop -m "Sync with develop") fi MEMORY_DIR=$(basename "$(jq -r '.memory_repo' egregore.json)" .git) if [ ! -L memory ]; then ln -s "../$MEMORY_DIR" memory fi MEMORY_BEFORE=$(git -C memory rev-parse HEAD 2>/dev/null) git -C memory pull origin main --quiet MEMORY_AFTER=$(git -C memory rev-parse HEAD 2>/dev/null) if [ "...
Push current branch to remote.
Analyze quest drift and suggest restructuring. Arguments: $ARGUMENTS
Manage quests — open-ended explorations that anyone can contribute to.
**Date**: {YYYY-MM-DD} **Author**: {author} **Category**: {category} **Topics**: {topic1}, {topic2}, {topic3}