Day 38 (Bonus): Sharing Your Claude Code Setup With Your Community
Open source your Claude Code setup. CLAUDE.md templates, slash commands, custom skills. Share the generic, protect the specific. Process over outputs.
Hey, it's G.
Day 38 of the Claude Code series.
Phase 4: Build In Public continues.
Days 36 and 37 were about capturing and sharing what you build.
Day 38 is about sharing the tools you build with.
There's a different kind of value in opening up your actual Claude Code setup.
Not just "here's what I shipped."
"Here's exactly how I work."
Your CLAUDE.md.
Your slash commands.
Your custom skills.
These are the result of dozens of hours of iteration.
Sharing them gives your community a shortcut and builds trust in a way feature announcements never do.
The Problem (Sharing Outputs, Hiding Process)
Most developers who build in public share outputs.
What they shipped.
What they learned.
What the numbers look like.
Fewer share process.
How they actually work.
What tools they use.
What their setup looks like under the hood.
Why Process Matters More Than You Think
Output content has a short shelf life.
"I shipped feature X today" → interesting today, forgotten tomorrow.
Process content has a long shelf life.
"Here's the CLAUDE.md template that makes every session faster" → useful for months.
Outputs are singular.
Process is reusable.
The Concept (Share the Tools, Not Just the Results)
Sharing your Claude Code setup is sharing process.
Three things worth sharing from your setup:
1. Your CLAUDE.md Template
The structure and rules that make Claude Code follow your conventions.
Useful for anyone working on a similar stack.
2. Your Slash Command Library
The commands you've built up over 38 days.
Each one represents a workflow someone else probably runs manually.
3. Your Custom Skills
Especially the content-repurpose skill and any project-specific ones.
These are portable and immediately usable.
The Key Principle (Share the Generic, Protect the Specific)
Your CLAUDE.md template is shareable.
The version with your actual Supabase project ID and internal API endpoints is not.
Strip the project-specific details.
Keep the structure and the patterns.
Example:
Private version:
Database: Supabase project ID abc-123-xyz
Internal API: https://api.internal.mycompany.com
Public template:
Database: Supabase (PostgreSQL)
Internal API: [YOUR_INTERNAL_API_URL]
The structure teaches.
The specifics stay private.
How To Share Your Setup
Step 1: Create a Public Setup Repo
mkdir ~/claude-code-setup
cd ~/claude-code-setup
git init
Structure it clearly:
mkdir -p commands skills templates
touch README.md
Your README:
# G's Claude Code Setup
My personal Claude Code configuration — CLAUDE.md templates,
slash commands, and custom skills built over 38 days of
daily learning.
Part of the AI For Pinoys community series:
giangallegos.com
## What's In Here
- /templates → CLAUDE.md templates for different project types
- /commands → slash command library
- /skills → custom skills
## How To Use
1. Clone this repo
2. Copy the commands you want to ~/.claude/commands/
3. Copy the skills you want to ~/.claude/skills/
4. Use the CLAUDE.md templates as a starting point
## Stack
Built for: Next.js, TypeScript, Supabase, Tailwind, Vercel
Works for: Any JS/TS project with minor adjustments
Clear structure.
Clear instructions.
Clear value.
Step 2: Prepare Your CLAUDE.md Template
Create a generic version:
touch ~/claude-code-setup/templates/nextjs-supabase.md
Your template:
# [Project Name] — CLAUDE.md Template
# Source: giangallegos.com | AI For Pinoys
# Stack: Next.js 14, TypeScript, Supabase, Tailwind, Vercel
## Project Overview
[What this project does — replace with your description]
## Tech Stack
- Framework: Next.js 14 (App Router)
- Language: TypeScript 5.x (strict mode)
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- Styling: Tailwind CSS v3
- Deployment: Vercel
## Folder Structure
- /app → all routes and pages (App Router)
- /app/api → all API routes
- /components → shared components
- /components/ui → base UI components
- /lib → third-party client configs
- /utils → pure helper functions
- /types → TypeScript type definitions
- /hooks → custom React hooks
## Coding Conventions
- Functional components only — never class components
- Named exports only — never default exports
- TypeScript strict mode — never use `any`
- Tailwind for all styling — no inline styles
- Components under 150 lines — split if larger
- One component per file
- Async/await only — never .then() chains
## Behavior Rules
⚠️ NEVER install dependencies without asking
⚠️ NEVER run database migrations without asking
⚠️ NEVER push to git without instruction
⚠️ NEVER modify /lib files without flagging it
- Run freely: npm run dev, build, lint, typecheck
## Commands
- `npm run dev` → start local server
- `npm run build` → production build
- `npm run lint` → run ESLint
- `npm run typecheck` → TypeScript check
## Current Focus
[Replace with what you're actively building]
Notice the placeholders:
[Project Name]
[What this project does]
[Replace with...]
These signal: customize this for your project.
The structure stays. The details change.
Step 3: Package Your Slash Command Library
Copy your best commands:
cp ~/.claude/commands/review.md ~/claude-code-setup/commands/
cp ~/.claude/commands/plan.md ~/claude-code-setup/commands/
cp ~/.claude/commands/debug.md ~/claude-code-setup/commands/
cp ~/.claude/commands/refactor.md ~/claude-code-setup/commands/
cp ~/.claude/commands/test.md ~/claude-code-setup/commands/
cp ~/.claude/commands/ship.md ~/claude-code-setup/commands/
cp ~/.claude/commands/capture.md ~/claude-code-setup/commands/
cp ~/.claude/commands/standup.md ~/claude-code-setup/commands/
11 commands.
11 workflows someone else runs manually.
Now automated.
Step 4: Package Your Custom Skills
Copy your skills, but review first:
cp -r ~/.claude/skills/content-repurpose ~/claude-code-setup/skills/
Before committing, strip project-specific details:
code ~/claude-code-setup/skills/content-repurpose/SKILL.md
Remove:
- Specific URLs
- Internal tool names
- Private information
- Hardcoded project details
Keep:
- Voice rules
- Platform guidelines
- Output format
- Workflow structure
Example edit:
Before:
Always end LinkedIn posts with:
"Read more at giangallegos.com"
After:
Always end LinkedIn posts with:
"Read more at [YOUR_BLOG_URL]"
The workflow is shareable.
Your specific URL is customizable.
Step 5: Push and Share
cd ~/claude-code-setup
git add .
git commit -m "initial claude code setup — 38 days of iteration"
git remote add origin [your github repo url]
git push -u origin main
Now generate the announcement:
claude
Read through this entire repo.
Generate a LinkedIn post announcing I'm open-sourcing
my Claude Code setup after 38 days of daily learning.
Cover:
- What's in the repo (commands, skills, templates)
- Who it's for (Next.js/TypeScript developers)
- What problem it solves (hours of setup saved)
- Link to the repo
- CTA to giangallegos.com for the full series
Make it story-driven — not a feature list.
Claude generates the post.
Setup shared. Community equipped. Content posted.
Complete Real Example (Open Sourcing Your Setup)
Full session preparing and sharing your Claude Code setup.
Check for Private Details
cd ~/claude-code-setup
claude
Read everything in this repo.
Check for any project-specific details that
shouldn't be public:
- Real API endpoints
- Internal project names
- Private URLs
- Hardcoded credentials
List anything that needs to be genericized
before I push this public.
Claude scans and reports:
Found one issue:
content-repurpose/SKILL.md line 47 references
giangallegos.com as the CTA destination.
Consider making this a placeholder so others
can customize it.
Fix it:
Change the CTA URL in the content-repurpose skill
to [YOUR_BLOG_URL] so others can customize it.
Fixed.
Generate the Announcement
Use the content-repurpose skill to announce
this repo going public.
Story: 38 days of daily Claude Code learning.
Everything I built up — CLAUDE.md templates,
11 slash commands, 3 custom skills — now open source.
Who it helps: developers starting with Claude Code
who don't want to spend weeks figuring out setup.
Make the LinkedIn post lead with the time saved —
not the feature list.
LinkedIn post generated:
38 days of daily Claude Code learning.
Every template, command, and skill I built —
now open source for the community.
Here's what took me weeks to figure out:
**CLAUDE.md templates**
The structure and rules that make Claude Code
follow your conventions automatically.
No more re-explaining your coding style every session.
**11 slash commands**
/review → pre-commit code review
/plan → feature brief before building
/debug → systematic bug diagnosis
/refactor → cleanup with safety checks
/test → test generation strategy
/ship → final checks before deploy
/capture → session documentation
/standup → end-of-day summary
Every repeated prompt — saved permanently.
**3 custom skills**
content-repurpose → turn builds into posts
code-review → enforce conventions
docs-writer → documentation from code
Workflows that run consistently without re-explaining.
The principle I used:
Share the generic. Protect the specific.
Templates go public.
Real project details stay private.
If you're starting with Claude Code — clone this.
Skip the 38 days of setup iteration.
Start from day 38.
GitHub: [repo link]
That's what the AI For Pinoys community is for 🇵🇭
Building in public, sharing generously.
Read the full 38-day series: giangallegos.com
Post-ready.
Story-driven, not feature-list.
Value-first, not announcement-first.
Push It Public
git push
Post the content.
Done.
Setup open sourced.
Community has a shortcut.
Content posted.
One session.
Keeping It Updated As You Learn
After every new command or skill worth sharing:
cp ~/.claude/commands/new-command.md ~/claude-code-setup/commands/
cd ~/claude-code-setup
git add .
git commit -m "add [command name] — [one line description]"
git push
Monthly update post:
claude
Read the git log for this repo for the past month.
Write a "what I added to my Claude Code setup" post.
Use the content-repurpose skill for all platforms.
The repo stays alive.
You get recurring content without new work.
Community sees continuous improvement.
Why This Matters
Open sourcing your Claude Code setup does two things at once.
1. It Gives Your Community Something Immediately Useful
A shortcut past the setup friction that stopped many of them from getting started.
They clone. They copy. They use.
No weeks of iteration. No figuring it out from scratch.
2. It Builds Your Reputation
Not as someone who just talks about building.
As someone who actually shares how they do it.
The developers who build the most loyal audiences aren't the ones with the most impressive outputs.
They're the ones who share the process generously enough that their audience feels like they're learning alongside them.
Not just watching from a distance.
What People React To Most
From sharing my setup, here's what gets the biggest response:
The Slash Command Library
People don't realize how much time they spend retyping the same prompts.
Until they see a library of alternatives.
"Wait, you can save prompts?"
Yes. And you should.
The /capture Command
From Day 37.
Probably the most useful single command in the whole library.
60 seconds of documentation at the end of every session.
People copy this one immediately.
The CLAUDE.md Template
Developers see it and realize: "I've been re-explaining my conventions every session."
The template fixes that.
Once.
My Raw Notes (Unfiltered)

The "share the generic, protect the specific" principle is the one that makes this feel safe to do.
My CLAUDE.md with real project details stays private.
A template version that anyone can use goes public.
The slash command library is the thing that gets the most reaction when I share it.
People don't realize how much time they spend retyping the same prompts until they see a library of alternatives.
The monthly update post habit keeps the repo alive and gives you recurring content without new work.
The /capture command from Day 37 is worth including in the public repo.
It's probably the most useful single command in the whole library.
Sharing process builds trust faster than sharing outputs.
Outputs say "look what I did."
Process says "here's how you can do it too."
That's the difference.
Phase 4 Expanding
Day 36: Build In Public mindset (content as byproduct)
Day 37: Real-time documentation (capture while fresh)
Day 38: Share your setup (process over outputs)
Day 39 preview: Personal Claude Code system (pulling it all together)
The pieces are connecting.
Build → Document → Share → Equip
Following This Series
Core 30 Days: ✅ Complete
Bonus Days: In progress
Phase 1 (Days 1-7): Foundations ✅ Complete
Phase 2 (Days 8-21): Getting Productive ✅ Complete
Phase 3 (Days 22-35): Power User ✅ Complete
Phase 4 (Days 36+): Build In Public ⬅️ Building the system
G
P.S. - Share the generic, protect the specific. Templates go public. Real project details stay private. Command structure goes public. Internal API details stay private. That's how you share safely.
P.P.S. - The slash command library gets the biggest reaction. People don't realize how much time they waste retyping prompts until they see saved alternatives. /capture is probably the most copied.
P.P.P.S. - Process content has longer shelf life than output content. "I shipped X today" → forgotten tomorrow. "Here's my CLAUDE.md template" → useful for months. Share the tools, not just the results.