Version control Claude Code configuration including: - Global instructions (CLAUDE.md) - User settings (settings.json) - Custom agents (architect, designer, engineer, etc.) - Custom skills (create-skill templates and workflows) Excludes session data, secrets, cache, and temporary files per .gitignore. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
157 lines
4.0 KiB
Markdown
157 lines
4.0 KiB
Markdown
# Paper Dynasty - Unified Skill
|
|
|
|
Complete Paper Dynasty baseball card game management with workflow-based architecture.
|
|
|
|
## Structure
|
|
|
|
```
|
|
paper-dynasty/
|
|
├── SKILL.md # Main skill documentation (read by Claude Code)
|
|
├── README.md # This file
|
|
├── api_client.py # Shared API client for all operations
|
|
├── workflows/
|
|
│ ├── gauntlet-cleanup.md # Gauntlet team cleanup workflow
|
|
│ └── card-generation.md # Weekly card generation workflow
|
|
└── scripts/
|
|
├── gauntlet_cleanup.py # Gauntlet cleanup script
|
|
├── generate_summary.py # Card update summary generator
|
|
└── validate_database.py # Database validation tool
|
|
```
|
|
|
|
## Key Features
|
|
|
|
### 1. Unified API Client
|
|
- Single, reusable `Paper DynastyAPI` class
|
|
- Handles authentication, environments (prod/dev)
|
|
- Methods for all common operations
|
|
- Used by all scripts and workflows
|
|
|
|
### 2. Workflow-Based Architecture
|
|
- **Structured workflows** for repeatable tasks
|
|
- **Flexible ad-hoc** queries for creative requests
|
|
- Workflows are documented separately for clarity
|
|
- Scripts can be used standalone or via skill activation
|
|
|
|
### 3. Comprehensive Context
|
|
- Full API endpoint documentation
|
|
- Database structure and relationships
|
|
- Safety considerations
|
|
- Common request patterns
|
|
|
|
## Quick Start
|
|
|
|
### Setup Environment
|
|
|
|
```bash
|
|
# Required for API access
|
|
export API_TOKEN='your-api-token'
|
|
export DATABASE='prod' # or 'dev'
|
|
```
|
|
|
|
### Using the API Client
|
|
|
|
```python
|
|
from api_client import PaperDynastyAPI
|
|
|
|
api = PaperDynastyAPI(environment='prod')
|
|
|
|
# Get a team
|
|
team = api.get_team(abbrev='SKB')
|
|
|
|
# List cards
|
|
cards = api.list_cards(team_id=team['id'])
|
|
|
|
# Gauntlet operations
|
|
runs = api.list_gauntlet_runs(event_id=8, active_only=True)
|
|
```
|
|
|
|
### Using Scripts
|
|
|
|
```bash
|
|
cd ~/.claude/skills/paper-dynasty/scripts
|
|
|
|
# List gauntlet runs
|
|
python gauntlet_cleanup.py list --event-id 8 --active-only
|
|
|
|
# Wipe gauntlet team
|
|
python gauntlet_cleanup.py wipe --team-abbrev Gauntlet-SKB --event-id 8
|
|
```
|
|
|
|
## Available Workflows
|
|
|
|
### Gauntlet Team Cleanup
|
|
**Documentation**: `workflows/gauntlet-cleanup.md`
|
|
|
|
Clean up temporary gauntlet teams:
|
|
- Wipe cards (unassign from team)
|
|
- Delete packs
|
|
- End active runs
|
|
- Preserve historical data
|
|
|
|
### Weekly Card Generation
|
|
**Documentation**: `workflows/card-generation.md`
|
|
|
|
Generate and update player cards:
|
|
- Update date constants
|
|
- Generate card images
|
|
- Validate database
|
|
- Upload to S3
|
|
- Create scouting CSVs
|
|
- Generate release summary
|
|
|
|
## Advantages Over Fragmented Skills
|
|
|
|
**Before** (fragmented):
|
|
- `paper-dynasty-cards` - Card generation only
|
|
- `paper-dynasty-gauntlet` - Gauntlet cleanup only
|
|
- Duplicated API client code
|
|
- Couldn't handle creative queries
|
|
- Limited cross-functional operations
|
|
|
|
**After** (unified):
|
|
- ✅ Single skill with comprehensive context
|
|
- ✅ Shared, reusable API client
|
|
- ✅ Structured workflows for common tasks
|
|
- ✅ Flexible ad-hoc query handling
|
|
- ✅ Better discoverability and maintainability
|
|
|
|
## Example Interactions
|
|
|
|
**Structured (uses workflow)**:
|
|
```
|
|
User: "Clean up gauntlet team SKB"
|
|
→ Follows gauntlet-cleanup workflow
|
|
```
|
|
|
|
**Ad-Hoc (uses API client directly)**:
|
|
```
|
|
User: "How many cards does team SKB have?"
|
|
→ api.get_team(abbrev='SKB')
|
|
→ api.list_cards(team_id=X)
|
|
→ Returns count
|
|
```
|
|
|
|
**Creative (combines API calls)**:
|
|
```
|
|
User: "Show me all teams with active gauntlet runs"
|
|
→ api.list_gauntlet_runs(active_only=True)
|
|
→ Formats and displays team list
|
|
```
|
|
|
|
## Migration Notes
|
|
|
|
This skill consolidates:
|
|
- `~/.claude/skills/paper-dynasty-cards/` → `workflows/card-generation.md`
|
|
- `~/.claude/skills/paper-dynasty-gauntlet/` → `workflows/gauntlet-cleanup.md`
|
|
|
|
Old skills can be removed after verifying the unified skill works correctly.
|
|
|
|
## See Also
|
|
|
|
- **Main Documentation**: `SKILL.md`
|
|
- **API Client**: `api_client.py`
|
|
- **Workflows**: `workflows/`
|
|
- **Scripts**: `scripts/`
|
|
- **Database API**: `/mnt/NV2/Development/paper-dynasty/database/`
|
|
- **Discord Bot**: `/mnt/NV2/Development/paper-dynasty/discord-app/`
|