skills/docs/SKILL-DEVELOPMENT-STRATEGY-prox-setup.md
dan 5fea49b7c0 feat(tufte-press): evolve skill to complete workflow with JSON generation and build automation
- 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
2025-11-10 15:03:44 -08:00

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/):

  1. compress_worklog.sh - Creates compressed daily summaries with git activity
  2. archive_old_worklogs.sh - Archives worklogs >30 days to year directories
  3. 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:

  1. Create daily worklogs (org-mode format)
  2. Compress to daily summaries (extract key decisions/problems)
  3. Roll up to weekly summaries
  4. Archive old logs (>30 days) to year directories
  5. 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

  1. skills Repository as Reference - They can see existing skills as examples
  2. AGENTS.md - Development guidelines already written
  3. Template Skill - skills/template/ as starting point
  4. Nix Flake Pattern - They can add to our flake or create their own
  5. Code Review - We review their PRs/commits

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

  1. Time-sensitive - They're already using worklog compression, need it now
  2. Teaching vehicle - A real skill is better than abstract docs
  3. Risk mitigation - If they don't have time to learn, they still have working skill
  4. Community building - Sets precedent for collaborative skill development
  5. Pattern validation - Tests our Nix flake module approach

Implementation Plan

Us (Next 1-2 hours):

  1. Create skills/worklog-compression/ skill
  2. Adapt their existing scripts (compress_worklog.sh, archive_old_worklogs.sh)
  3. Write SKILL.md with their workflow
  4. Add to our Nix flake packages
  5. Document how to use it
  6. Commit to skills repo

Them (When ready):

  1. Point them to the skill we built
  2. Show them AGENTS.md and template skill
  3. They test the skill in their environment
  4. They fork/modify to their needs
  5. 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

  1. Confirm with user - Is hybrid approach acceptable?
  2. Build MVP skill - 1-2 hour effort
  3. Deploy to ops-dev - Use our Nix flake module
  4. Create handoff doc - How to modify/maintain
  5. 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:

  1. Build MVP in dan/skills (fast iteration, we control)
  2. 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

  1. Timeline: How urgently do you need this? (affects whether we build or teach)
  2. Ownership preference: Do you want to maintain this long-term or prefer we do?
  3. Learning goal: Is learning skill development important, or just having working skill?
  4. Collaboration model: Comfortable with PRs back to skills repo, or prefer isolation?
  5. Deployment: ops-dev only, or other VMs too?
  • 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.