Install
npx skillscat add eveld/claude/share-docs Install via the SkillsCat registry.
Share Documents
Promote personal documents to the shared namespace for team collaboration. This skill handles numbering, frontmatter updates, and git operations atomically.
When to Use
- When a research document is complete and ready for team review
- When a plan is finalized and ready for team implementation
- When you want to publish your work to collaborators
Workflow
1. Validate Personal Document
Check that the personal document exists and is ready to share:
- Path format:
thoughts/{username}/NNNN-slug/ - Contains required files (research.md, plan.md, etc.)
- Frontmatter is complete
- No
shared_asfield yet (not already shared)
2. Pull Latest Changes
git pullGet latest shared documents to determine next available number.
3. Find Next Shared Number
Scan thoughts/shared/ for highest number:
NEXT_SHARED=$(ls -1 thoughts/shared/ 2>/dev/null | grep -E '^[0-9]{4}-' | sort -r | head -1 | cut -d'-' -f1 || echo "0000")
NEXT_SHARED=$(printf "%04d" $((10#${NEXT_SHARED} + 1)))4. Copy to Shared
Copy entire personal directory to shared with new number:
# Example: thoughts/erik/0001-auth-system → thoughts/shared/0042-auth-system
cp -r thoughts/{username}/{NNNN}-{slug} thoughts/shared/${NEXT_SHARED}-{slug}5. Update Frontmatter in Both Copies
Personal copy (thoughts/erik/0001-auth-system/research.md):
---
feature_slug: "erik/0001-auth-system"
shared_as: "0042-auth-system"
shared_date: "2026-02-04"
status: shared
# ... other fields unchanged
---Shared copy (thoughts/shared/0042-auth-system/research.md):
---
feature_slug: "0042-auth-system"
original_slug: "erik/0001-auth-system"
shared_date: "2026-02-04"
status: published
# ... other fields unchanged
---Update frontmatter in all markdown files within both directories (research.md, plan.md, changelog.md, etc.).
6. Commit and Push
Atomic operation to claim the shared number:
git add thoughts/shared/${NEXT_SHARED}-${slug} thoughts/${username}/${NNNN}-${slug}
git commit -m "feat: share ${slug} (was ${username}/${NNNN})"
git pushImportant: If push fails due to conflict (someone else pushed a shared doc), retry from step 2.
7. Report Result
✅ Shared ${username}/${NNNN}-${slug} → shared/${NEXT_SHARED}-${slug}
Personal copy marked with shared_as in frontmatter.
Collaborators can now access: thoughts/shared/${NEXT_SHARED}-${slug}/Error Handling
Personal doc doesn't exist:
❌ Error: thoughts/erik/0001-auth-system not foundAlready shared:
❌ Error: Document already shared as 0042-auth-system (check frontmatter)
Consider creating a new version if updates are needed.Git push conflict:
⚠️ Push rejected - shared number conflict detected
Retrying with next available number...Automatically retry from step 2 (pull, find next number, copy, commit, push).
Example Usage
# User has: thoughts/erik/0001-auth-system/research.md
# User runs: /share-docs thoughts/erik/0001-auth-system
# Skill executes:
git pull
# Finds next shared: 0042
cp -r thoughts/erik/0001-auth-system thoughts/shared/0042-auth-system
# Updates frontmatter in both
git add thoughts/shared/0042-auth-system thoughts/erik/0001-auth-system
git commit -m "feat: share auth-system (was erik/0001)"
git push
# Result:
# ✅ Shared erik/0001-auth-system → shared/0042-auth-systemCollaboration Model
Personal namespace (thoughts/{username}/):
- Each developer has their own numbering (0001, 0002, etc.)
- No conflicts between developers
- Work-in-progress, experimentation, drafts
- Not visible to others until shared
Shared namespace (thoughts/shared/):
- Canonical numbered documents for team
- Numbers assigned atomically at share time
- Published, reviewed, ready for implementation
- Visible to all collaborators
Benefits:
- No numbering conflicts during development
- Explicit sharing moment
- Clear distinction between WIP and published
- Git handles conflicts automatically
After Sharing
Personal copy remains unchanged except for frontmatter. You can:
- Keep it as reference
- Continue working on improvements
- Share updates as a new document (new shared number)
- Delete it if no longer needed
The shared copy becomes the canonical version that others reference.