- Transform tufte-press from reference guide to conversation-aware generator - Add JSON generation from conversation context following strict schema - Create build automation scripts with Nix environment handling - Integrate CUPS printing with duplex support - Add comprehensive workflow documentation Scripts added: - skills/tufte-press/scripts/generate-and-build.sh (242 lines) - skills/tufte-press/scripts/build-card.sh (23 lines) Documentation: - Updated SKILL.md with complete workflow instructions (370 lines) - Updated README.md with usage examples (340 lines) - Created SKILL-DEVELOPMENT-STRATEGY-tufte-press.md (450 lines) - Added worklog: 2025-11-10-tufte-press-skill-evolution.org Features: - Agent generates valid JSON from conversation - Schema validation before build (catches errors early) - Automatic Nix shell entry for dependencies - PDF build via tufte-press toolchain - Optional print with duplex support - Self-contained margin notes enforced - Complete end-to-end testing Workflow: Conversation → JSON → Validate → Build → Print Related: niri-window-capture, screenshot-latest, worklog skills
8.1 KiB
8.1 KiB
Skill Development Strategy: prox-setup Document Workflow
Analysis Date: 2025-11-09
Context: prox-setup repository has mature worklog/documentation workflow that could be a skill
Decision: Where should this skill be developed?
The Workflow to Capture
What prox-setup Has
Document Management Scripts (scripts/shell/):
- compress_worklog.sh - Creates compressed daily summaries with git activity
- archive_old_worklogs.sh - Archives worklogs >30 days to year directories
- worklog_maintenance.sh - Likely combines the above
Documentation Structure (docs/):
- 206 org-mode files total
- worklogs/ - Active daily logs (last 30 days)
- worklogs/compressed/daily/ - Daily summaries
- worklogs/compressed/weekly/ - Weekly rollups
- worklogs/compressed/project/ - High-level summaries
- archive/YYYY/ - Historical logs by year
- current/ - Active reference docs
- INDEX.md - Navigation guide
Process Pattern:
- Create daily worklogs (org-mode format)
- Compress to daily summaries (extract key decisions/problems)
- Roll up to weekly summaries
- Archive old logs (>30 days) to year directories
- Maintain INDEX for navigation
Option A: Build Skill Here (skills repo)
Pros ✅
- Centralized skill repository - All skills in one place
- We have the expertise - Already built worklog skill, tufte-press skill, niri-window-capture
- Established patterns - Module structure, SKILL.md format, testing approach
- Nix flake ready - Can package and deploy immediately
- Code review capability - We can review our own work
- Quick turnaround - We're already in context
Cons ❌
- Not their workflow - We don't use this compression/archival pattern
- Less ownership - They won't have built it themselves
- Transfer knowledge required - Need to teach them how to use/modify it
- Might miss nuances - They know their workflow better than we do
- Dependency on us - Updates/fixes require coming back to this repo
What We'd Build
skills/worklog-compression/
├── SKILL.md # Agent instructions for compression workflow
├── README.md # User documentation
├── scripts/
│ ├── compress-daily.sh # Extract key decisions from worklogs
│ ├── archive-old.sh # Move logs >30 days to archive
│ ├── generate-weekly.sh # Roll up daily summaries
│ └── update-index.sh # Maintain documentation INDEX
├── templates/
│ ├── daily-summary.org # Compression template
│ └── weekly-rollup.org # Weekly template
└── examples/
└── example-compression.org
Option B: Teach Them (prox-setup agent)
Pros ✅
- Ownership - They build and maintain their own skill
- Domain expertise - They understand the workflow intimately
- Learning opportunity - They learn skill development patterns
- Customization - Can iterate on their own timeline
- Independence - Don't need to wait for us for updates
- Better fit - Skill evolves with their actual needs
Cons ❌
- Learning curve - Need to understand skills architecture
- Time investment - Takes longer than us building it
- Documentation burden - We need to teach the skill development process
- Quality risk - Might not follow best practices initially
- Support required - We'll need to answer questions during development
What We'd Provide
- skills Repository as Reference - They can see existing skills as examples
- AGENTS.md - Development guidelines already written
- Template Skill -
skills/template/as starting point - Nix Flake Pattern - They can add to our flake or create their own
- Code Review - We review their PRs/commits
Option C: Hybrid Approach (Recommended)
Phase 1: We Build MVP (1-2 hours)
Quick prototype in skills repo:
- Basic compression skill with their scripts as templates
- SKILL.md with their workflow documented
- README with installation instructions
- Deploy to their ops-dev VM for immediate use
Phase 2: They Take Over (ongoing)
Transfer ownership:
- Show them the skill structure
- Point them to AGENTS.md and existing skills
- They fork/copy to their repo or maintain here
- They iterate based on real usage
- We review PRs/provide guidance
Benefits ✅
- Immediate value - Working skill quickly
- Learning by example - Real skill to study and modify
- Gradual handoff - No pressure to learn everything at once
- Shared maintenance - They can improve, we can review
- Both gain - We validate our skill patterns, they get working tool
Recommendation: Option C (Hybrid)
Rationale
- Time-sensitive - They're already using worklog compression, need it now
- Teaching vehicle - A real skill is better than abstract docs
- Risk mitigation - If they don't have time to learn, they still have working skill
- Community building - Sets precedent for collaborative skill development
- Pattern validation - Tests our Nix flake module approach
Implementation Plan
Us (Next 1-2 hours):
- Create
skills/worklog-compression/skill - Adapt their existing scripts (compress_worklog.sh, archive_old_worklogs.sh)
- Write SKILL.md with their workflow
- Add to our Nix flake packages
- Document how to use it
- Commit to skills repo
Them (When ready):
- Point them to the skill we built
- Show them AGENTS.md and template skill
- They test the skill in their environment
- They fork/modify to their needs
- Optional: They submit improvements back
Collaboration Points:
- We review their modifications
- They report bugs/feature requests
- We help with Nix packaging if needed
- Knowledge exchange on workflow patterns
Next Steps
- Confirm with user - Is hybrid approach acceptable?
- Build MVP skill - 1-2 hour effort
- Deploy to ops-dev - Use our Nix flake module
- Create handoff doc - How to modify/maintain
- Schedule knowledge transfer - When they're ready to take over
Comparison: Skills Repo vs Their Repo
If Skill Lives in skills repo (dan/skills)
Pros:
- Centralized discovery (one place to find all skills)
- Our Nix flake already set up
- Shared improvement (others could use it)
- Consistent structure (all skills follow same pattern)
Cons:
- They need access to this repo to modify
- Deployment coupling (need to pull this repo)
- Version sync issues (their changes affect others)
If Skill Lives in Their Repo (dan/prox-setup)
Pros:
- Full control (no PRs needed to modify)
- Independent versioning (break things freely)
- Deployment coupled to their environment
- Natural fit (skill alongside the workflow it supports)
Cons:
- Not discoverable by others
- Need to create their own Nix flake (or use ours via input)
- Duplicate effort if others want similar
Recommendation
Start here, migrate there:
- Build MVP in
dan/skills(fast iteration, we control) - Once stable, they can:
- Keep using from our repo (via Nix flake input)
- Copy to their repo (for full control)
- Maintain in both (improvements flow back)
Questions for User
- Timeline: How urgently do you need this? (affects whether we build or teach)
- Ownership preference: Do you want to maintain this long-term or prefer we do?
- Learning goal: Is learning skill development important, or just having working skill?
- Collaboration model: Comfortable with PRs back to skills repo, or prefer isolation?
- Deployment: ops-dev only, or other VMs too?
Related Context
-
Recent worklog: 2025-11-09-ops-dev-vm-mobile-connectivity-and-skills-deployment.org
- They deployed tufte-press skill to ops-dev
- Used flake bundling approach (environment.etc)
- Understand skills deployment pattern
- Already have Forgejo repository for skills
-
Their agent knows:
- How to write worklogs (206 examples)
- Shell scripting patterns
- Git integration patterns
- Org-mode structure
-
We know:
- Skill architecture
- AGENTS.md guidelines
- Nix flake packaging
- Testing/validation patterns
Best outcome: Combine expertise - we scaffold structure, they provide domain knowledge.