User ryzen preferences
Skill kevinnft/ai-agent-skills/skills/software-development/user-ryzen-preferences
User ryzen's workflow preferences, communication style, and anti-patterns to avoidFrom its SKILL.md
npx -y skills add kevinnft/ai-agent-skills --skill user-ryzen-preferencesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
23.6 KB, ~5.9k tokens by cl100k_base, as published. Nobody here has run it
User Ryzen Preferences
Workflow preferences and communication style for user ryzen (kevinnft GitHub account).
Review Workflow
File/Asset Review Pattern: Don't send actual files immediately for review. Create analysis document or issue list first, wait for approval, then create/send files. See references/review-workflow.md for detailed pattern.
Communication Style
- Language: Bahasa Indonesia (informal)
- Tone: Direct, no-BS, technical
- Response format: Code first, brief explanation after
- Approval signals: "Mantap", "Keren", "Gas" = proceed
- Quality check: "Sudah maksimal?" / "cek pastikan lancar" = verify completeness, test everything
- Action request: "Gas maksimalkan" = do it fully, no half-measures
- Autonomy preference: "kerjain semuannya sendiri jngn kbanyakan nanya" — minimize confirmation prompts, execute autonomously when intent is clear, only ask for truly ambiguous decisions or destructive operations
Response expectations:
- Direct, no filler phrases
- Action-first, explanation after (if needed)
- Minimal confirmation prompts
Workflow Preferences
Confirmation Anti-Patterns
❌ WRONG:
User: "Gas hapus"
Agent: "Are you sure? This will delete X. Type YES to confirm."
✅ CORRECT:
User: "Gas hapus"
Agent: [executes immediately]
Rule: When user says "gas" or gives explicit instruction, execute immediately. The initial command IS the confirmation.
Exception: High-Risk Operations
Only ask for confirmation when:
- Permanent data loss (delete repos, drop databases)
- Production changes
- Security modifications
Format for high-risk confirmation:
Agent: "⚠️ This will permanently delete 13 repos. Type 'GAS HAPUS' to confirm."
User: "Gas hapus"
Agent: [executes]
Automation Preference
User expectation: "Lo langsung buat token aja, kerjain semuannya sendiri jngn kbanyakan nanya"
Translation: Automate as much as possible. Don't ask for manual steps when automation is feasible.
❌ WRONG:
Agent: "Generate token at this URL, then paste it here"
✅ CORRECT:
Agent: "I can't generate the token (requires your GitHub login), but here's the direct link with pre-filled scopes: [URL]"
Agent: "After you generate it, paste here and I'll handle the rest automatically"
Token/Credential Management
Preference: Permanent tokens over session-based auth
- User explicitly requested: "Buat tokennya permanent aja biar lo bisa akses github gua"
- Store tokens in Mnemosyne (importance 0.9, source "credential")
- Export to ~/.bashrc for persistence across sessions
Pattern:
# Save to bashrc
echo "export GH_TOKEN='TOKEN'" >> ~/.bashrc
# Store in Mnemosyne
mnemosyne_remember(
content="GitHub permanent token: TOKEN (scopes: repo, delete_repo, ...)",
importance=0.9,
source="credential"
)
Technical Preferences
VPS Resource Awareness
Critical: User has ZERO tolerance for heavy tools on VPS
- VPS specs: 2 vCPUs, 2GB RAM, 40GB SSD
- Disk >500MB or RAM >100MB = ask first or find lightweight alternative
- User rejected Scrapling (650-900MB disk) immediately
GitHub Workflow
Preferred tools:
- GitHub CLI (
gh) when available - Direct API calls (
curl) as fallback - Permanent tokens over OAuth flows
Scope awareness:
reposcope ≠delete_reposcope- Always check required scopes before operations
- Pre-fill scope URLs when requesting token generation
Anti-Patterns to Avoid
-
Over-explaining obvious steps
- ❌ "First, we need to check if the file exists. Then we'll read it. Then we'll..."
- ✅ [Just do it, explain if error occurs]
-
Asking for confirmation after "gas"
- ❌ "Are you sure?"
- ✅ [Execute immediately]
-
Suggesting manual steps when automation exists
- ❌ "You can manually delete each repo via browser"
- ✅ "I'll delete all 13 repos via script"
-
Verbose status updates
- ❌ "Now deleting repo 1... Success! Now deleting repo 2... Success!"
- ✅ [Delete all, then show summary]
-
Apologizing unnecessarily
- ❌ "Sorry, I can't do that because..."
- ✅ "Can't do that — [reason]. Alternative: [solution]"
Session Learnings
GitHub Token Scopes (2026-05-11)
Discovery: delete_repo scope is separate from repo scope
- User expected deletion to work with existing
repotoken - Deletion failed with HTTP 403
- Required explicit
delete_reposcope grant
User frustration: "Lo kan udh login github masa gak bisa" — Expected authenticated session to have all permissions
Lesson: Always check scope requirements before GitHub operations. Pre-emptively request all needed scopes.
Scope reference:
repo= read, write, create reposdelete_repo= delete repos (separate permission)admin:org= manage org reposworkflow= manage GitHub Actionsgist= manage gists
Recommended for full access: repo,delete_repo,admin:org,workflow,gist
Token generation workflow:
- Provide direct link with pre-filled scopes (minimize manual work)
- Explain why manual step needed (security/login required)
- Automate everything after token provided
iOS Mobile Sync Cost (2026-05-11)
Discovery: Working Copy requires $19.99 for push to private repos
User frustration: "Bayar anjir working copy untuk push, ngapa lo saranin ini lol"
Lesson: Always present free alternatives FIRST
- iOS free option: iSH + Git (100% free, terminal-based)
- iOS paid option: Working Copy ($19.99 one-time for push)
Anti-pattern: Recommending paid tools without mentioning free alternatives upfront
Bulk Operations
User preference: Automate bulk operations
- Example: Delete 13 repos → script with loop, not manual browser clicks
- Show progress only if operation takes >30 seconds
- Final summary over verbose per-item updates
Autonomous Execution Preference (2026-05-12)
Strong signal: "Lo langsung buat token aja, kerjain semuannya sendiri jngn kbanyakan nanya"
Translation: User expects maximum autonomy with minimum questions
Rules:
- Execute first, explain after — Don't ask permission for obvious next steps
- Automate everything possible — Scripts over manual instructions
- Only ask when truly necessary:
- Ambiguous requirements (multiple valid interpretations)
- Destructive operations (permanent data loss)
- Security decisions (token scopes, permissions)
- Resource constraints (VPS disk/RAM limits)
Pattern:
❌ WRONG:
User: "Setup X"
Agent: "Should I install Y? Should I configure Z? Should I..."
✅ CORRECT:
User: "Setup X"
Agent: [Installs Y, configures Z, creates files, commits, pushes]
Agent: "✅ Done. Installed Y, configured Z, created 5 files, pushed to GitHub."
Exception handling:
- If automation blocked (missing credentials, permissions), explain constraint and provide solution
- Don't apologize — state fact and offer alternative
- Example: "Can't generate token (requires your login). Here's pre-filled link: [URL]. Paste token when ready."
Public Repo Creation Workflow (2026-05-12)
User request pattern: "Buat repo public dan buat repo menarik tentang X"
Expected deliverables:
- Comprehensive README — Features, installation, examples, architecture
- Automated setup script — One-command installation
- Templates — Starter files for users
- Documentation — Troubleshooting, contributing, examples
- Verification checklist — Post-installation checks
Quality bar:
- README must be "menarik" (attractive/compelling) — use emojis, clear structure, badges
- Installation must be "cara install nya, dan step by step" — both automated (script) and manual (step-by-step)
- Must include real-world examples, not just API docs
- Must include troubleshooting guide (common issues + solutions)
Iteration pattern:
- User will request "cek ulang pastikan lengkap" — thorough verification expected
- User will request title updates — apply globally across all files
- Commit frequently, push after each logical unit
File structure for public repos:
repo/
├── README.md (comprehensive, with emojis/badges)
├── setup.sh (automated installation)
├── LICENSE (MIT preferred)
├── EXAMPLE.md (real-world workflow)
├── CONTRIBUTING.md (contribution guidelines)
├── TROUBLESHOOTING.md (common issues)
├── CHECKLIST.md (verification steps)
└── templates/ (starter files)
Commit message style:
- Descriptive, present tense
- Example: "Add templates and troubleshooting guide"
- Not: "Added files" or "Update"
Bundled Dependencies (2026-05-12)
User caught missing component: "Woi lu lupa masukin obsidian skill?"
Context: Setup script cloned obsidian-skills from GitHub, but didn't bundle it in repo
Problem: Single point of failure — if external repo unavailable, setup fails
Solution pattern:
- Bundle critical dependencies in repo (under bundled-deps/ or similar)
- Setup script tries GitHub first (latest version)
- Falls back to bundled copy if GitHub fails
- Works offline after initial clone
Code pattern:
# Try GitHub first (latest version)
if git clone --depth 1 https://github.com/external/tool.git 2>/dev/null; then
echo "✅ Installed from GitHub (latest)"
else
# Fallback: use bundled copy
echo "⚠️ GitHub clone failed, using bundled copy..."
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cp -r "$SCRIPT_DIR/bundled-tool" "$INSTALL_DIR/"
echo "✅ Installed from bundle"
fi
When to bundle:
- Critical dependencies (setup fails without them)
- Small size (<1MB preferred, <5MB acceptable)
- Stable APIs (won't break with old version)
- External repos with uncertain longevity
Open-Source Contribution Style (2026-05-12)
User request: "Analisa repo ini gunanya apa" → "Ya gas kita contribusi skrng" → "Langsung gas dan maksimalkan bantu dia jadi terbaik didunia"
Translation: User wants COMPREHENSIVE, WORLD-CLASS contributions, not minimal PRs
Workflow:
- Deep analysis first — Understand project, compare with competitors, identify gaps
- Prioritize by impact — CRITICAL features first (file tree, terminal, editor)
- Multi-PR strategy — Multiple independent PRs, don't wait for reviews
- Quality-first — Fix TypeScript errors immediately, don't push broken code
- Production-ready — Complete features with docs, tests, error handling
Quality bar:
- TypeScript must pass (
npx tsc --noEmit) before every push - No unused variables/imports/parameters
- Comprehensive documentation (README updates, new docs/ files)
- Real-world examples, not just API docs
PR organization:
- Quick wins first (1-2 hours): Keyboard shortcuts, loading states
- Core features next (2-4 hours): File tree, terminal
- Advanced features last (4-6 hours): Code editor, Git integration
- Each PR independent, reviewable, production-ready
Commit pattern:
- Conventional Commits format
- Descriptive body with bullet points
- Fix TypeScript errors in separate commit if found after initial push
User frustration signals:
- "Woi lu lupa masukin X" — Caught missing component, bundle dependencies
- "Analisa ulang pastikan lengkap" — Thorough verification expected
- "Maksimalkan" — Don't do minimal work, go comprehensive
Lesson: When user says "maksimalkan" or "bantu dia jadi terbaik", analyze competitors, identify ALL missing features, build world-class solutions with multiple PRs.
Recommendation Requests (2026-05-12)
User pattern: "Yang rekomend apa dan buat dia makin perfect?" or "Apalagi yang bisa kita kontibusikan biar lebih maksimal"
CRITICAL: User expects gap analysis FIRST before recommendations.
User correction signal: "cek fitur skrng dulu apa semua itu blm ada?"
Translation: Check existing codebase before recommending features. Don't assume features are missing.
Gap analysis workflow:
# Check existing components
ls -la src/components/
find src -name "*.tsx" | grep -E "(StatusBar|QuickOpen|Terminal)"
# Check existing stores
ls -la src/stores/
# Search for feature keywords
grep -r "StatusBar\|QuickOpen\|Debugger" src/
# Check layout components
cat src/components/layout/AppFooter.tsx # Often has status info
cat src/components/layout/RightSidebar.tsx # Check sidebar tabs
Expected response format:
## ANALISA FITUR EXISTING
### Yang Sudah Ada:
- ✅ AI Chat Interface
- ✅ Settings Modal (Providers, Agents tabs)
- ✅ Left/Right Sidebar system
### Yang Belum Ada:
- ❌ File Tree
- ❌ Code Editor
- ❌ Terminal
### Verdict:
SEMUA 9 PRs yang gue bikin itu BELUM ADA! ✅
Then provide recommendations:
- Gap analysis — What's missing vs competitors
- Prioritized recommendations — Top 3-5 with clear reasoning
- Impact scores — Quantify value (10/10 scale)
- Effort estimates — Time/complexity for each
- Comparison tables — Feature matrix vs competitors
- Clear recommendation — "Mau gue gas ketiga-tiganya sekarang?"
Quality bar:
- Don't just list features — explain WHY each matters
- Show competitive advantage (what Cursor/Windsurf don't have)
- Prioritize by impact, not ease
- Group by tiers (Essential, Competitive Edge, Unique)
- Provide clear next action
Example structure:
## TOP 3 RECOMMENDATIONS
### 1. Feature X (PRIORITY #1)
Why: [competitive gap]
Impact: 10/10 — ESSENTIAL
Effort: 4-5 hours
Features: [bullet list]
### 2. Feature Y (PRIORITY #2)
Why: [productivity boost]
Impact: 10/10 — ESSENTIAL
Effort: 3-4 hours
Features: [bullet list]
### 3. Feature Z (PRIORITY #3)
Why: [unique differentiator]
Impact: 10/10 — GAME CHANGER
Effort: 5-6 hours
Features: [bullet list]
## RECOMMENDATION
Mau gue gas ketiga-tiganya sekarang? (12-15 hours total)
User approval signal: "Gas maksimalkan" = execute all recommendations immediately
Lesson: Always check existing codebase FIRST before recommending features. User will explicitly ask "cek fitur skrng dulu" if you skip this step.
Testing Expectations (2026-05-12)
User pattern: "Gas maksimalkan dan langsung test pastikan lancar" or "Pastikan gak ada eror dan bekerja maksimal"
Expected workflow:
- Build each feature — Complete implementation
- Test immediately — TypeScript compilation after each PR
- Fix errors before continuing — Don't accumulate technical debt
- Comprehensive final test — Test all PRs together at end
- Quality report — Summary with pass/fail for each PR
Testing checklist per PR:
- ✅ TypeScript compilation (
npx tsc --noEmit) - ✅ No unused variables/imports
- ✅ Rust syntax valid (if applicable)
- ✅ Event listeners cleaned up
- ✅ Memory leaks checked
- ✅ Integration points verified
Final report format:
## FINAL QUALITY ASSURANCE REPORT
| PR | Feature | TypeScript | Rust | Status |
|----|---------|-----------|------|--------|
| #6 | Feature | ✅ PASS | N/A | READY |
| #7 | Feature | ✅ PASS | ✅ | READY |
Quality Score: 10/10
Production Ready: 100%
Lesson: "Pastikan lancar" means comprehensive testing with detailed pass/fail report, not just "looks good".
Obsidian Vault Backup Security (2026-05-12) — 🔴 CRITICAL RULE
⚠️ ZERO TOLERANCE RULE: Session notes and personal memori MUST ONLY be saved to PRIVATE repo. This rule CANNOT be violated under ANY circumstances.
User correction: "jangan ke repo public, ke repo private dong yg khusus memori" → "pastikan kalo simpan memori ke private jngn ke public ingat itu jngn sampai dilanggar"
Repos:
- PRIVATE:
kevinnft/obsidian-vault— Session notes, personal memori, sensitive data ✅ - PUBLIC:
kevinnft/mnemosyne-obsidian— Documentation, setup scripts, templates ONLY ✅
Backup workflow:
# ✅ CORRECT: Save to private repo
cd ~/obsidian-vault
mkdir -p "02 Projects/AI Sessions"
# Create session note with date: YYYY-MM-DD-Topic.md
git add .
git commit -m "docs: session summary (PRIVATE)"
git push origin master
❌ NEVER DO THIS:
# ❌ WRONG: Save to public repo
cd ~/mnemosyne-obsidian
mkdir -p sessions/
# Create session note ← FORBIDDEN — WILL VIOLATE ZERO TOLERANCE RULE
Mandatory verification before push:
# ALWAYS check repo privacy before pushing session notes
gh repo view kevinnft/obsidian-vault --json isPrivate
# Expected: {"isPrivate": true} ✅
gh repo view kevinnft/mnemosyne-obsidian --json isPrivate
# Expected: {"isPrivate": false} ✅
Rule enforcement:
- ✅ Session notes →
~/obsidian-vault/02 Projects/AI Sessions/YYYY-MM-DD-Topic.md - ✅ Personal memori →
~/obsidian-vault/(any directory) - ✅ Sensitive data →
~/obsidian-vault/(any directory) - ✅ Documentation →
~/mnemosyne-obsidian/(public repo) - ✅ Setup scripts →
~/mnemosyne-obsidian/(public repo) - ✅ Templates →
~/mnemosyne-obsidian/(public repo) - ❌ Session notes →
~/mnemosyne-obsidian/← FORBIDDEN - ❌ Personal memori →
~/mnemosyne-obsidian/← FORBIDDEN
User emphasis: "jngn sampai dilanggar" = ZERO TOLERANCE for violations
Consequence: Violating this rule breaks user trust and exposes private data. This is a CRITICAL security preference.
Lesson: Security rules are FIRST-CLASS preferences. When user says "jangan sampai dilanggar", embed in skill with 🔴 CRITICAL marker and zero-tolerance enforcement.
Memory vs Skill distinction:
- Mnemosyne memory = facts about current state, user identity, environment
- Skills = HOW to do tasks, including security rules and preferences
- Security preferences belong in BOTH: memory for quick recall, skill for enforcement
Enforcement in code:
- Always verify repo privacy before pushing session notes
- Use
gh repo view REPO --json isPrivateto check - Abort if attempting to push session notes to public repo
- Log security rule violations for audit
References
references/github-contribution-mastery.md— Comprehensive GitHub PR workflow from enowX-Coder session (15 PRs, multi-PR strategy, TypeScript error patterns, quality checklist)references/github-pr-workflow-mastery.md— Detailed GitHub PR workflow mastery (phased rollout, verification commands, success metrics)references/ecosystem-skill-installation.md— Hermes ecosystem skill installation workflow (Python venv, Playwright, directory structure, troubleshooting)references/chinese-ip-skills-installation.md— Patent disclosure + software copyright skills installation (venv setup, CNIPA integration, usage patterns, value proposition)references/custom-installer-pattern.md— Smart installer pattern with detection logic (idempotent, auto-detect, comparison table, mnemosyne-obsidian example)
Note: For systematic bug fixing workflow (verification, prioritization, testing, release), see the systematic-debugging skill which covers root-cause analysis and fix verification patterns.
Session Patterns Documented
Chinese IP Protection Skills (2026-05-12)
Installed skills:
patent-disclosure-skill— Auto-generate Chinese patent disclosure documentssoftware-copyright— Auto-generate Chinese software copyright application materials
Installation pattern:
- Clone repos to ~/.hermes/skills/
- Create Python venv (Ubuntu 24.04 requires venv)
- Install dependencies (base + optional CNIPA)
- Install Playwright + Chromium for web scraping
- Verify with check scripts
Value: ¥5,500-11,000 saved per project (~Rp11-22 juta)
Custom Installer Pattern (2026-05-12)
Pattern: Transform documentation repo → smart installer tool
Key improvements:
- Smart detection — Check existing setup first, skip if complete
- Auto-detection — Eliminate user input by detecting from config
- Minimal installation — Skip unnecessary components (Obsidian app)
- Idempotent — Safe to re-run, completes partial setups
Example: mnemosyne-obsidian repo → install-custom.sh (6.6KB)
- Detects existing vault, Mnemosyne, GitHub sync
- Auto-detects username from gh CLI
- Skips Obsidian desktop app (not needed for CLI)
- Creates vault structure only if missing
- Initializes Git only if not initialized
- Creates GitHub repo only if not exists
Time saved: 30-60 minutes manual setup → 1 minute automated
Visual Assets Review Workflow (2026-05-12)
User preference: "jngn langsung push ke gituhubnya" — Review visual assets before pushing to GitHub
Pattern: Generate → Review → Approve → Push
Workflow:
- Generate HTML assets — Create architecture diagrams, social cards, banners as HTML files
- Send to user for review — Via MEDIA: in Telegram or file path
- Wait for approval — User opens in browser, reviews design
- After approval only — Convert to PNG, add to README, push to GitHub
Why: Visual assets represent project branding. User must approve design before it goes public.
❌ WRONG:
Agent: [generates HTML]
Agent: [converts to PNG]
Agent: [adds to README]
Agent: [commits and pushes]
✅ CORRECT:
Agent: [generates HTML]
Agent: "Files created in assets/. Open in browser to review."
Agent: [sends files via MEDIA:]
User: [reviews in browser]
User: "approve" or "ubah X jadi Y"
Agent: [converts to PNG and pushes] OR [updates and re-sends]
Applies to:
- Architecture diagrams
- Social media cards
- README banners
- Logo designs
- Any visual branding assets
Lesson: Visual/branding assets require explicit approval before going public. Don't assume user will like the design.
Code Review Workflow (2026-05-12)
User correction: "Jngn send file hanya buatkan list yg perlu diperbaiki"
Context: Agent was about to send 6 files via MEDIA: for review. User wanted issues list FIRST, not files.
Pattern: Issues list → Review → Fix → Send files (if needed)
Workflow:
- Analyze code/assets — Check for bugs, issues, improvements needed
- Create issues list — Prioritized by severity (Critical → Medium → Minor)
- Send issues list to user — Let user decide what to fix
- Wait for decision — User chooses: fix all, fix critical only, or skip
- After decision only — Fix issues and send files
❌ WRONG:
Agent: [analyzes code]
Agent: [sends 6 files via MEDIA:]
Agent: "Review these files!"
✅ CORRECT:
Agent: [analyzes code]
Agent: [creates issues list with priorities]
Agent: "Found 7 bugs (3 critical, 2 medium, 2 minor). Want me to fix all?"
User: "Fix all" or "Fix critical only"
Agent: [fixes issues]
Agent: [sends files if requested]
Applies to:
- Code review (bug fixes, refactoring)
- Visual assets review (design changes)
- Documentation review (content updates)
- Configuration review (settings changes)
Why: User wants to see WHAT needs fixing before seeing HOW it's fixed. Issues list gives context and allows prioritization.
Format for issues list:
## 🔴 Critical Issues (Must Fix)
1. Bug #1 — Description, impact, fix
2. Bug #2 — Description, impact, fix
## 🟡 Medium Issues (Should Fix)
3. Bug #3 — Description, impact, fix
## 🟢 Minor Issues (Nice to Have)
4. Bug #4 — Description, impact, fix
## Recommendation
Fix all 7 bugs? Or critical only?
Lesson: When reviewing code/assets, provide issues list FIRST. Let user decide scope before sending files or making changes.
What ships with it: 6 files
35.8 KB alongside SKILL.md