- 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
3.5 KiB
3.5 KiB
Deployed Skills
Record of skills deployed from this repository to dotfiles.
niri-window-capture
Deployed: 2025-11-08
To: ~/proj/dotfiles/claude/skills/niri-window-capture/
Status: Staged in dotfiles, awaiting rebuild
Security: HIGH RISK - invisible cross-workspace window capture
Pre-deployment checklist:
- SECURITY.md reviewed
- Audit logging implemented (logger -t niri-capture)
- Security warnings in SKILL.md and README.md
- Upstream feature request template created
- Niri block-out rules configured (user responsibility)
- System rebuilt
- Agents restarted
Files deployed:
- SKILL.md (184 lines) - Agent instructions
- SECURITY.md (196 lines) - Threat model and mitigations
- README.md (108 lines) - User guide
- UPSTREAM-REQUEST.md (108 lines) - Feature request for --no-clipboard
- IMPLEMENTATION-NOTES.md - Technical documentation
- scripts/capture-focused.sh - Capture current window
- scripts/capture-by-title.sh - Find and capture by title
- scripts/capture-all-windows.sh - Capture all windows
- examples/ - Usage examples
Next steps in dotfiles:
cd ~/proj/dotfiles
# Verify staged
git status
# Should see:
# - claude/skills/niri-window-capture/ (new directory)
# - home/claude.nix (modified)
# - home/opencode.nix (modified)
# Commit
git commit -m "Add niri-window-capture skill
Security-sensitive skill for invisible cross-workspace window capture.
Features:
- Capture windows from any workspace without switching
- Direct buffer rendering via niri compositor
- Audit logging to systemd journal (logger -t niri-capture)
- Comprehensive security documentation
Security requirements:
- User must configure niri block-out rules for sensitive apps
- All captures logged to journalctl --user -t niri-capture
- Screenshots always copied to clipboard (niri limitation)
- See SECURITY.md for complete threat model
Tested: cross-workspace capture works invisibly
Audit log: verified working
Upstream request: --no-clipboard flag template ready"
# Rebuild
sudo nixos-rebuild switch --flake .#delpad
# Restart agents
# - Exit and restart OpenCode
# - Restart Claude Code application
Verification after rebuild:
# Check deployment
ls -la ~/.claude/skills/niri-window-capture
ls -la ~/.config/opencode/skills/niri-window-capture
# Should be symlinks to nix store
# Test capture
~/.claude/skills/niri-window-capture/scripts/capture-focused.sh
# Check audit log
journalctl --user -t niri-capture -n 5
User configuration required:
# Edit ~/.config/niri/config.kdl
# Add window-rule for password managers:
window-rule {
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
match app-id=r#"^org\.gnome\.World\.Secrets$"#
block-out-from "screen-capture"
}
# Find app-id for your password manager:
niri msg --json windows | jq -r '.[] | "\(.app_id) - \(.title)"'
screenshot-latest
Status: Not yet deployed
Reason: Pending decision
Security: Low risk (finds existing files only)
Would be simple deployment once decided.
Deployment Process
- Develop in
~/proj/skills/skills/<name>/ - Deploy with
./bin/deploy-skill.sh <name> - Configure Nix in dotfiles (edit claude.nix + opencode.nix)
- Commit to dotfiles git
- Rebuild system:
sudo nixos-rebuild switch --flake .#delpad - Restart agents
- Record in this file
References
- Deployment strategy: DEPLOYMENT.md
- Deployment questions: DEPLOYMENT-QUESTIONS.md
- Dotfiles workflow: ~/proj/dotfiles/docs/skills-and-commands-workflow.md