[{"data":1,"prerenderedAt":1045},["ShallowReactive",2],{"work-index":3},[4,110,205,295,388,485,582,674,763,895],{"id":5,"title":6,"body":7,"client":86,"description":87,"extension":88,"featured":89,"featuredImage":90,"meta":91,"metric":65,"navigation":92,"ogImage":93,"path":94,"robots":93,"seo":95,"sitemap":96,"stem":97,"tags":98,"technologies":102,"year":108,"__hash__":109},"work_en\u002Fwork\u002Flearning-platform.md","Learning Platform with Document Security",{"type":8,"value":9,"toc":79},"minimark",[10,15,19,23,26,55,59],[11,12,14],"h2",{"id":13},"challenge","Challenge",[16,17,18],"p",{},"A high school needed to prevent unauthorized sharing of proprietary PDF course materials. Standard DRM solutions were either too expensive or too easy to circumvent, and the institution needed a system that could also serve as a full learning platform for remote students.",[11,20,22],{"id":21},"solution","Solution",[16,24,25],{},"Built a custom LMS that started as a PDF piracy protection system and evolved into a full remote-learning platform:",[27,28,29,37,43,49],"ul",{},[30,31,32,36],"li",{},[33,34,35],"strong",{},"Per-user PGP encryption"," — Each student receives a unique PGP key pair. PDFs are encrypted server-side with the student's public key and decrypted client-side in the browser, making shared files useless to other users",[30,38,39,42],{},[33,40,41],{},"JavaScript beacon tracking"," — Embedded beacons inside each PDF report back to the server when a document is opened. Server-side logic detects unauthorized viewers based on key mismatches",[30,44,45,48],{},[33,46,47],{},"Full LMS features"," — Course enrollment, progress tracking, assignment submission, and content delivery",[30,50,51,54],{},[33,52,53],{},"Pandemic-ready architecture"," — When COVID-19 forced remote learning in 2020, the system scaled to handle the entire student body without any architectural changes",[11,56,58],{"id":57},"impact","Impact",[27,60,61,67,73],{},[30,62,63,66],{},[33,64,65],{},"Zero unauthorized distribution"," — The encryption and beacon system effectively eliminated PDF piracy",[30,68,69,72],{},[33,70,71],{},"Pandemic resilience"," — Scaled unexpectedly fast during 2020 remote learning demand; architecture held without redesign",[30,74,75,78],{},[33,76,77],{},"Sole developer delivery"," — Built the entire technical system as the sole developer",{"title":80,"searchDepth":81,"depth":81,"links":82},"",2,[83,84,85],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Educational Institution","Custom LMS with per-user PGP encryption and JavaScript beacon tracking to prevent unauthorized sharing of proprietary course materials.","md",false,"\u002Fimages\u002Fwork\u002Flearning-platform.png",{},true,null,"\u002Fwork\u002Flearning-platform",{"title":6,"description":87},{"loc":94},"work\u002Flearning-platform",[99,100,101],"Full-Stack","Security","Education",[103,104,105,106,107],"Angular","Spring Boot","Java","PGP Encryption","JavaScript","2019","XT0_1sN49hIeTHwLM5k9urkqIv1IoM_2fOQSGtbmlsI",{"id":111,"title":112,"body":113,"client":184,"description":185,"extension":88,"featured":89,"featuredImage":186,"meta":187,"metric":188,"navigation":92,"ogImage":93,"path":189,"robots":93,"seo":190,"sitemap":191,"stem":192,"tags":193,"technologies":197,"year":203,"__hash__":204},"work_en\u002Fwork\u002Forder-integration.md","Multi-Platform Order Integration",{"type":8,"value":114,"toc":179},[115,117,120,122,125,151,153],[11,116,14],{"id":13},[16,118,119],{},"A food service client was manually managing orders across multiple delivery platforms — Uber Eats, DoorDash, and Grubhub — with frequent inventory discrepancies. Menu updates required manual changes on each platform, and order volume had outgrown what the team could handle manually.",[11,121,22],{"id":21},[16,123,124],{},"Developed a bidirectional data transformation layer that synchronized orders and inventory across all three delivery platforms and the client's POS system:",[27,126,127,133,139,145],{},[30,128,129,132],{},[33,130,131],{},"Unified order pipeline"," — All incoming orders from Uber Eats, DoorDash, and Grubhub routed through a single processing pipeline",[30,134,135,138],{},[33,136,137],{},"Real-time inventory sync"," — Stock levels updated across all platforms when an order is placed on any one of them",[30,140,141,144],{},[33,142,143],{},"Menu management"," — Centralized menu updates that propagate to all connected platforms",[30,146,147,150],{},[33,148,149],{},"Legacy system integration"," — Built on top of the existing Laravel\u002FPHP codebase and Microsoft SQL Server databases running on CentOS bare-metal servers",[11,152,58],{"id":57},[27,154,155,161,167,173],{},[30,156,157,160],{},[33,158,159],{},"5,000+ orders\u002Fday"," processed automatically across all platforms",[30,162,163,166],{},[33,164,165],{},"95% fewer discrepancies"," — Order and inventory mismatches virtually eliminated",[30,168,169,172],{},[33,170,171],{},"Centralized menu management"," — Updates propagate to all platforms from a single interface",[30,174,175,178],{},[33,176,177],{},"Deployment modernization"," — Implemented GitLab CI\u002FCD pipelines reducing deployment time from 2 hours to 15 minutes",{"title":80,"searchDepth":81,"depth":81,"links":180},[181,182,183],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Food Service Company (US)","Bidirectional integration with Uber Eats, DoorDash, and Grubhub with real-time inventory sync, processing 5,000+ orders daily.","\u002Fimages\u002Fwork\u002Forder-integration.png",{},"5,000+ orders\u002Fday automated","\u002Fwork\u002Forder-integration",{"title":112,"description":185},{"loc":189},"work\u002Forder-integration",[194,195,196],"Integration","Automation","Backend",[198,199,200,201,202],"Laravel","PHP","REST APIs","Microsoft SQL Server","GitLab CI","2021","_eeLm0LUtsT5VUx-W4gwz5loPPL7fgdq-rzkATEZI3k",{"id":206,"title":207,"body":208,"client":279,"description":280,"extension":88,"featured":89,"featuredImage":281,"meta":282,"metric":93,"navigation":92,"ogImage":93,"path":283,"robots":93,"seo":284,"sitemap":285,"stem":286,"tags":287,"technologies":290,"year":293,"__hash__":294},"work_en\u002Fwork\u002Freal-estate-crm.md","Real Estate CRM & Lead Pipeline",{"type":8,"value":209,"toc":274},[210,212,215,217,220,246,248],[11,211,14],{"id":13},[16,213,214],{},"A real estate agency needed a centralized CRM that could handle their complex organizational structure — agents, managers, and admins each with different access levels — while managing two distinct types of leads: end-clients looking to buy or rent, and buyer\u002Frenter prospects sourced by agents.",[11,216,22],{"id":21},[16,218,219],{},"Led a 2-person team (one junior developer) to build a full-featured CRM on Angular + Spring Boot:",[27,221,222,228,234,240],{},[30,223,224,227],{},[33,225,226],{},"Granular role-based permissions"," — Access controls across agent, manager, and admin tiers, with configurable visibility rules per property and lead type",[30,229,230,233],{},[33,231,232],{},"Google Maps integration"," — Interactive property location display with filtering by area, price range, and property type",[30,235,236,239],{},[33,237,238],{},"Property video management"," — Built-in video embedding system for listing previews",[30,241,242,245],{},[33,243,244],{},"Dual lead pipeline"," — Separate status workflows for end-client leads (buy\u002Frent inquiries) and buyer\u002Frenter prospects (agent-sourced), each with distinct stages and notification rules",[11,247,58],{"id":57},[27,249,250,256,262,268],{},[30,251,252,255],{},[33,253,254],{},"Unified property management"," — All listings, leads, and agent activity visible in a single dashboard",[30,257,258,261],{},[33,259,260],{},"Dual pipeline"," — Two distinct lead workflows reflecting the agency's actual business process",[30,263,264,267],{},[33,265,266],{},"Role-based access"," — Agents see only their assigned properties and leads; managers see their team's portfolio; admins see everything",[30,269,270,273],{},[33,271,272],{},"Junior developer mentorship"," — Built the system while training a junior developer on Angular and Spring Boot patterns",{"title":80,"searchDepth":81,"depth":81,"links":275},[276,277,278],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Real Estate Agency","Centralized CRM with role-based access, Google Maps integration, and dual lead pipeline for buyers\u002Frenters and end-clients.","\u002Fimages\u002Fwork\u002Freal-estate-crm.png",{},"\u002Fwork\u002Freal-estate-crm",{"title":207,"description":280},{"loc":283},"work\u002Freal-estate-crm",[99,288,289],"CRM","Web Development",[103,104,105,291,292],"PostgreSQL","Google Maps API","2022","SyAORR-Pg6fOJxdNgbnsVzy2aVJa6WupS1zhN4X-mOQ",{"id":296,"title":297,"body":298,"client":369,"description":370,"extension":88,"featured":89,"featuredImage":371,"meta":372,"metric":344,"navigation":92,"ogImage":93,"path":373,"robots":93,"seo":374,"sitemap":375,"stem":376,"tags":377,"technologies":380,"year":386,"__hash__":387},"work_en\u002Fwork\u002Ffield-operations-platform.md","Government Field Operations Platform",{"type":8,"value":299,"toc":364},[300,302,305,307,310,336,338],[11,301,14],{"id":13},[16,303,304],{},"Government agencies across the western United States needed a coordinated field operations system for fire prevention — one capable of managing hundreds of agents per tenant across remote terrain, with real-time location awareness and offline resilience for areas with poor connectivity.",[11,306,22],{"id":21},[16,308,309],{},"Built a full-stack, multi-tenant field operations platform as part of a two-person team over 10 months:",[27,311,312,318,324,330],{},[30,313,314,317],{},[33,315,316],{},"iOS mobile app"," (React Native) for field agents — route navigation, geofencing alerts, real-time position reporting, and offline map caching",[30,319,320,323],{},[33,321,322],{},"Web dashboard"," (React) for managers — agent dispatching, field position monitoring, and incident report review",[30,325,326,329],{},[33,327,328],{},"Multi-tenant API"," (Node.js\u002FExpress + MongoDB) with strict data isolation across government tenants",[30,331,332,335],{},[33,333,334],{},"Advanced geospatial features"," — real-time agent tracking, custom route optimization, geofencing for operational boundaries, and offline tile caching for remote field conditions",[11,337,58],{"id":57},[27,339,340,346,352,358],{},[30,341,342,345],{},[33,343,344],{},"4,000 concurrent field users"," across 8 government tenants (~500 agents each)",[30,347,348,351],{},[33,349,350],{},"Real-time geospatial tracking"," enabled faster incident response coordination",[30,353,354,357],{},[33,355,356],{},"Offline map support"," ensured agent reliability in low-connectivity terrain",[30,359,360,363],{},[33,361,362],{},"Full-stack delivery"," (mobile + web + API) completed by a 2-person team within 10 months",{"title":80,"searchDepth":81,"depth":81,"links":365},[366,367,368],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Government Agencies (US)","Multi-tenant platform for coordinated fire prevention field operations across remote terrain, serving 4,000 concurrent field users across 8 government tenants.","\u002Fimages\u002Fwork\u002Ffield-operations-platform.png",{},"\u002Fwork\u002Ffield-operations-platform",{"title":297,"description":370},{"loc":373},"work\u002Ffield-operations-platform",[99,378,379],"Mobile","Government",[381,382,383,384,385,292],"React Native","React","Node.js","Express","MongoDB","2023","CwaFYKNcDsEOBs_MWkA_7wrfutdHY9Xn0-Ix5uipmHw",{"id":389,"title":390,"body":391,"client":468,"description":469,"extension":88,"featured":89,"featuredImage":470,"meta":471,"metric":443,"navigation":92,"ogImage":93,"path":472,"robots":93,"seo":473,"sitemap":474,"stem":475,"tags":476,"technologies":479,"year":386,"__hash__":484},"work_en\u002Fwork\u002Flegal-review-automation.md","Enterprise Legal Review Automation",{"type":8,"value":392,"toc":463},[393,395,398,400,403,435,437],[11,394,14],{"id":13},[16,396,397],{},"A Fortune 500 company's legal team was spending 10 hours per review cycle manually validating compliance across legal pages. The process was error-prone, slow, and couldn't keep up with the volume of documents requiring review — over 10,000 per month.",[11,399,22],{"id":21},[16,401,402],{},"Designed and built a Playwright-based automation system that handles the entire legal page review pipeline:",[27,404,405,411,417,423,429],{},[30,406,407,410],{},[33,408,409],{},"Automated document validation"," — Playwright scripts navigate, extract, and validate legal page content against compliance rules",[30,412,413,416],{},[33,414,415],{},"Batch processing"," — Processes 10,000+ documents monthly with configurable review rules",[30,418,419,422],{},[33,420,421],{},"Error detection"," — Automated checks catch compliance issues that manual reviewers frequently missed",[30,424,425,428],{},[33,426,427],{},"Performance-optimized browser extensions"," — Built TypeScript browser extensions for the legal team's manual review workflow, reducing per-document review time",[30,430,431,434],{},[33,432,433],{},"Stability engineering"," — Identified and resolved memory leaks in automation scripts, improving success rate from 70% to 99.8%",[11,436,58],{"id":57},[27,438,439,445,451,457],{},[30,440,441,444],{},[33,442,443],{},"90% time reduction"," — Review cycles dropped from 10 hours to 1 hour",[30,446,447,450],{},[33,448,449],{},"95% fewer human errors"," — Automated validation catches issues that manual review missed",[30,452,453,456],{},[33,454,455],{},"10,000+ documents\u002Fmonth"," processed automatically",[30,458,459,462],{},[33,460,461],{},"99.8% automation success rate"," — Up from 70% after stability engineering",{"title":80,"searchDepth":81,"depth":81,"links":464},[465,466,467],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Enterprise (Fortune 500)","Playwright-based automation processing 10,000+ documents monthly, reducing legal review time by 90%.","\u002Fimages\u002Fwork\u002Flegal-review-automation.png",{},"\u002Fwork\u002Flegal-review-automation",{"title":390,"description":469},{"loc":472},"work\u002Flegal-review-automation",[195,477,478],"Enterprise","Testing",[480,481,482,383,382,483],"Playwright","TypeScript","Python","Kubernetes","3-8o_0L28ikJjwvrpg5BDwZ2E63UHFyhV7uy5DYmO2o",{"id":486,"title":487,"body":488,"client":93,"description":561,"extension":88,"featured":92,"featuredImage":562,"meta":563,"metric":93,"navigation":92,"ogImage":93,"path":564,"robots":93,"seo":565,"sitemap":566,"stem":567,"tags":568,"technologies":573,"year":580,"__hash__":581},"work_en\u002Fwork\u002Fvalkymia.md","ValkymIA — AI Consultancy",{"type":8,"value":489,"toc":555},[490,494,497,501,533,537,540,544],[11,491,493],{"id":492},"overview","Overview",[16,495,496],{},"ValkymIA is an AI consultancy founded to help Mexican small and medium businesses access the kind of AI infrastructure usually reserved for companies with 10x their budget. We design, build, and deploy production AI systems — from RAG pipelines and agentic workflows to CRM integrations and self-hosted LLM infrastructure.",[11,498,500],{"id":499},"services","Services",[27,502,503,509,515,521,527],{},[30,504,505,508],{},[33,506,507],{},"RAG Systems & Knowledge Bases"," — Custom retrieval-augmented generation pipelines that turn internal documents into searchable, conversational knowledge",[30,510,511,514],{},[33,512,513],{},"Agentic Workflows"," — Autonomous agent architectures using LangGraph that handle multi-step business processes",[30,516,517,520],{},[33,518,519],{},"Custom LLM Tooling"," — Purpose-built AI tools tailored to specific business operations",[30,522,523,526],{},[33,524,525],{},"CRM Integrations"," — Production API integrations with Zoho CRM and Odoo CRM for automated business workflows",[30,528,529,532],{},[33,530,531],{},"WhatsApp AI Assistants"," — Conversational AI bots for sales and customer service via WhatsApp Business API",[11,534,536],{"id":535},"approach","Approach",[16,538,539],{},"Every system we build follows a no-vendor-lock-in philosophy. Where possible, we deploy on self-hosted infrastructure so clients maintain full ownership of their data and models. When cloud services make sense, we architect for portability.",[11,541,543],{"id":542},"links","Links",[27,545,546],{},[30,547,548],{},[549,550,554],"a",{"href":551,"rel":552},"https:\u002F\u002Fvalkymia.mx",[553],"nofollow","Visit valkymia.mx",{"title":80,"searchDepth":81,"depth":81,"links":556},[557,558,559,560],{"id":492,"depth":81,"text":493},{"id":499,"depth":81,"text":500},{"id":535,"depth":81,"text":536},{"id":542,"depth":81,"text":543},"AI consultancy helping Mexican SMBs build RAG systems, agentic workflows, and custom LLM tooling — infrastructure usually reserved for companies 10x their size.","\u002Fimages\u002Fwork\u002Fvalkymia.png",{},"\u002Fwork\u002Fvalkymia",{"title":487,"description":561},{"loc":564},"work\u002Fvalkymia",[569,570,571,572],"AI","Consulting","RAG","Mexican SMBs",[571,574,575,576,482,577,578,579],"LangGraph","LangChain","Vector Databases","WhatsApp Business API","Zoho CRM","Odoo CRM","2024","yE4amE4PrScdVgC-Dt8FSNNnrxdB1DKe_T1h5gLvsxc",{"id":583,"title":584,"body":585,"client":659,"description":660,"extension":88,"featured":92,"featuredImage":661,"meta":662,"metric":663,"navigation":92,"ogImage":93,"path":664,"robots":93,"seo":665,"sitemap":666,"stem":667,"tags":668,"technologies":670,"year":672,"__hash__":673},"work_en\u002Fwork\u002Fagentic-knowledge-base.md","Agentic Knowledge Base",{"type":8,"value":586,"toc":654},[587,589,592,594,597,600,626,628],[11,588,14],{"id":13},[16,590,591],{},"A mid-size organization's team was wasting 10+ hours per week searching for information scattered across internal documents, wikis, and email threads. Existing search tools returned too many irrelevant results, and institutional knowledge was siloed in individual employees' heads.",[11,593,22],{"id":21},[16,595,596],{},"Designed an intelligent knowledge management system using agentic workflows built on LangGraph. The system goes beyond simple RAG — it uses autonomous agents that can decompose complex queries, search across multiple document stores, synthesize information from different sources, and learn from usage patterns.",[16,598,599],{},"Key capabilities:",[27,601,602,608,614,620],{},[30,603,604,607],{},[33,605,606],{},"Multi-source retrieval"," — Ingests and indexes documents from multiple internal systems into a unified vector store",[30,609,610,613],{},[33,611,612],{},"Agentic query decomposition"," — Complex questions are broken into sub-queries, each routed to the most relevant knowledge source",[30,615,616,619],{},[33,617,618],{},"Contextual synthesis"," — Combines information from multiple documents into coherent, cited responses",[30,621,622,625],{},[33,623,624],{},"Usage-driven optimization"," — The system tracks which documents are most frequently retrieved and surfaces them more prominently",[11,627,58],{"id":57},[27,629,630,636,642,648],{},[30,631,632,635],{},[33,633,634],{},"80% faster information access"," — Questions answered in seconds instead of minutes of manual searching",[30,637,638,641],{},[33,639,640],{},"95% accuracy in responses"," — Verified against source documents with citation links",[30,643,644,647],{},[33,645,646],{},"Learns from usage patterns"," — Relevance improves over time as the system observes which results are most useful",[30,649,650,653],{},[33,651,652],{},"Reduced knowledge silos"," — Institutional knowledge is now accessible to the entire team",{"title":80,"searchDepth":81,"depth":81,"links":655},[656,657,658],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Enterprise Client","Intelligent knowledge management system with agentic workflows, achieving 80% faster information retrieval and 95% response accuracy.","\u002Fimages\u002Fwork\u002Fagentic-knowledge-base.png",{},"80% faster information retrieval","\u002Fwork\u002Fagentic-knowledge-base",{"title":584,"description":660},{"loc":664},"work\u002Fagentic-knowledge-base",[569,571,669,513],"Vector Search",[571,576,671,574,482],"LLM Orchestration","2025","PdJQeDIennkn7KmQ-mPbma1AY7LRoA3BAR_E0fGBfrA",{"id":675,"title":676,"body":677,"client":750,"description":751,"extension":88,"featured":92,"featuredImage":752,"meta":753,"metric":725,"navigation":92,"ogImage":93,"path":754,"robots":93,"seo":755,"sitemap":756,"stem":757,"tags":758,"technologies":760,"year":672,"__hash__":762},"work_en\u002Fwork\u002Fwhatsapp-sales-bot.md","WhatsApp Sales Bot",{"type":8,"value":678,"toc":745},[679,681,684,686,689,691,717,719],[11,680,14],{"id":13},[16,682,683],{},"A Mexican small business was spending over 20 hours per week on manual customer support — answering the same product questions, qualifying leads, and routing inquiries. Response times during off-hours meant lost sales, and the team couldn't scale support without hiring additional staff.",[11,685,22],{"id":21},[16,687,688],{},"Built an AI-powered WhatsApp sales assistant using retrieval-augmented generation (RAG). The bot ingests the client's product catalog, pricing, and FAQ documentation into a vector store, then uses an LLM to generate accurate, contextual responses in natural conversational Spanish.",[16,690,599],{},[27,692,693,699,705,711],{},[30,694,695,698],{},[33,696,697],{},"Product knowledge"," — Answers detailed questions about products, pricing, and availability by retrieving from the client's own documentation",[30,700,701,704],{},[33,702,703],{},"Lead qualification"," — Identifies purchase intent and routes high-value leads to the human sales team",[30,706,707,710],{},[33,708,709],{},"Handoff protocol"," — Seamlessly transfers to a human agent when the conversation requires it",[30,712,713,716],{},[33,714,715],{},"Bilingual support"," — Handles conversations in both Spanish and English",[11,718,58],{"id":57},[27,720,721,727,733,739],{},[30,722,723,726],{},[33,724,725],{},"90% reduction in response time"," — From hours to seconds, even outside business hours",[30,728,729,732],{},[33,730,731],{},"24\u002F7 availability"," — Customers get instant responses at any time",[30,734,735,738],{},[33,736,737],{},"100+ concurrent conversations"," — Scales without additional headcount",[30,740,741,744],{},[33,742,743],{},"Human team freed up"," — Sales staff now focuses on closing deals instead of answering repetitive questions",{"title":80,"searchDepth":81,"depth":81,"links":746},[747,748,749],{"id":13,"depth":81,"text":14},{"id":21,"depth":81,"text":22},{"id":57,"depth":81,"text":58},"Mexican SMB","AI-powered sales assistant using RAG to automate customer conversations 24\u002F7, reducing response time by 90%.","\u002Fimages\u002Fwork\u002Fwhatsapp-sales-bot.png",{},"\u002Fwork\u002Fwhatsapp-sales-bot",{"title":676,"description":751},{"loc":754},"work\u002Fwhatsapp-sales-bot",[569,195,571,759],"WhatsApp",[571,761,577,482,576],"LLMs","xy_7zytbMeOtRkXwkOyxt7xSJ89QTjYGYuSbbtYS_6I",{"id":764,"title":765,"body":766,"client":93,"description":878,"extension":88,"featured":92,"featuredImage":879,"meta":880,"metric":93,"navigation":92,"ogImage":93,"path":881,"robots":93,"seo":882,"sitemap":883,"stem":884,"tags":885,"technologies":888,"year":893,"__hash__":894},"work_en\u002Fwork\u002Fclaude-code-skills.md","Claude Code Skills Collection",{"type":8,"value":767,"toc":869},[768,770,773,778,798,802,805,833,835,844,848,865],[11,769,493],{"id":492},[16,771,772],{},"A curated collection of skills designed for AI coding agents, published as an open-source project. Each skill extends agent capabilities with specialized domain knowledge and tool integrations.",[774,775,777],"h3",{"id":776},"available-skills","Available Skills",[27,779,780,786,792],{},[30,781,782,785],{},[33,783,784],{},"comfyui"," — Run FLUX.2 image generation and editing workflows on a local ComfyUI instance",[30,787,788,791],{},[33,789,790],{},"flux-prompt-gen"," — Generate optimized text-to-image prompts for Black Forest Labs FLUX models",[30,793,794,797],{},[33,795,796],{},"glab"," — GitLab CLI integration for merge requests, issues, CI\u002FCD pipelines, releases, API access, and full project management from the terminal",[11,799,801],{"id":800},"installation","Installation",[16,803,804],{},"Skills can be installed via the Skills CLI, downloaded directly from the GitLab Package Registry, or manually cloned from the repository.",[806,807,811],"pre",{"className":808,"code":809,"language":810,"meta":80,"style":80},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add cesasol\u002Fskills@SKILL_NAME\n","bash",[812,813,814],"code",{"__ignoreMap":80},[815,816,819,823,827,830],"span",{"class":817,"line":818},"line",1,[815,820,822],{"class":821},"sBMFI","npx",[815,824,826],{"class":825},"sfazB"," skills",[815,828,829],{"class":825}," add",[815,831,832],{"class":825}," cesasol\u002Fskills@SKILL_NAME\n",[11,834,543],{"id":542},[27,836,837],{},[30,838,839],{},[549,840,843],{"href":841,"rel":842},"https:\u002F\u002Fgitlab.com\u002Fcesasol\u002Fskills",[553],"Source Code",[11,845,847],{"id":846},"technologies-used","Technologies Used",[27,849,850,853,856,859],{},[30,851,852],{},"Claude Code Skills format",[30,854,855],{},"ComfyUI API integration",[30,857,858],{},"FLUX model prompt engineering",[30,860,861,862,864],{},"GitLab ",[812,863,796],{}," CLI",[866,867,868],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":80,"searchDepth":81,"depth":81,"links":870},[871,875,876,877],{"id":492,"depth":81,"text":493,"children":872},[873],{"id":776,"depth":874,"text":777},3,{"id":800,"depth":81,"text":801},{"id":542,"depth":81,"text":543},{"id":846,"depth":81,"text":847},"Curated set of skills for AI coding agents — ComfyUI image generation, FLUX prompt optimization, and GitLab CLI integration","\u002Fimages\u002Fwork\u002Fclaude-code-skills.png",{},"\u002Fwork\u002Fclaude-code-skills",{"title":765,"description":878},{"loc":881},"work\u002Fclaude-code-skills",[569,886,887],"Open Source","Developer Tools",[889,890,891,892],"Claude Code","ComfyUI","FLUX","GitLab CLI","2026","CHMy_aH0FyteglCl37kekMqWD53WU5W16RIXH6nsAxU",{"id":896,"title":897,"body":898,"client":93,"description":1032,"extension":88,"featured":92,"featuredImage":1033,"meta":1034,"metric":93,"navigation":92,"ogImage":93,"path":1035,"robots":93,"seo":1036,"sitemap":1037,"stem":1038,"tags":1039,"technologies":1040,"year":893,"__hash__":1044},"work_en\u002Fwork\u002Fcomfyui-downloader.md","ComfyUI Downloader",{"type":8,"value":899,"toc":1024},[900,902,905,909,951,955,958,995,997,1005,1007],[11,901,493],{"id":492},[16,903,904],{},"A Rust-based daemon that manages AI model downloads from CivitAI for ComfyUI. Runs as a SystemD user service, exposing a Unix socket interface for model management, with a companion Tauri\u002FSvelte desktop application.",[774,906,908],{"id":907},"key-features","Key Features",[27,910,911,917,923,933,939,945],{},[30,912,913,916],{},[33,914,915],{},"Download Management"," — Queue processing with configurable concurrency and HTTP range request resumption",[30,918,919,922],{},[33,920,921],{},"Intelligent Routing"," — Automatically places checkpoints in correct subdirectories by analyzing safetensors headers for VAE\u002FCLIP components",[30,924,925,928,929,932],{},[33,926,927],{},"Metadata & Verification"," — Generates ",[812,930,931],{},".metadata.json"," sidecars with SHA-256 hashes and CivitAI API data",[30,934,935,938],{},[33,936,937],{},"Update Tracking"," — Periodic polling identifies newer model versions and sends desktop notifications",[30,940,941,944],{},[33,942,943],{},"Startup Scanning"," — Detects existing models via hash lookup and registers them for update tracking",[30,946,947,950],{},[33,948,949],{},"Desktop App"," — Tauri\u002FSvelte GUI for managing downloads and browsing the model catalog",[11,952,954],{"id":953},"architecture","Architecture",[16,956,957],{},"The codebase is organized into:",[959,960,961,967,973,979,985],"ol",{},[30,962,963,966],{},[33,964,965],{},"Daemon"," — Queue, downloader, scanner, and updater components",[30,968,969,972],{},[33,970,971],{},"IPC"," — Protocol, server, and client over Unix sockets",[30,974,975,978],{},[33,976,977],{},"CivitAI Integration"," — API client for model metadata and downloads",[30,980,981,984],{},[33,982,983],{},"Catalog"," — SQLite-backed model registry",[30,986,987,990,991,994],{},[33,988,989],{},"CLI"," — ",[812,992,993],{},"comfyui-dl"," command-line tool for API key setup, model management, and status checks",[11,996,543],{"id":542},[27,998,999],{},[30,1000,1001],{},[549,1002,843],{"href":1003,"rel":1004},"https:\u002F\u002Fgitlab.com\u002Fcesasol\u002Fcomfyui-downloader",[553],[11,1006,847],{"id":846},[27,1008,1009,1012,1015,1018,1021],{},[30,1010,1011],{},"Rust",[30,1013,1014],{},"Tauri + Svelte (desktop app)",[30,1016,1017],{},"SQLite",[30,1019,1020],{},"SystemD user services",[30,1022,1023],{},"CivitAI API",{"title":80,"searchDepth":81,"depth":81,"links":1025},[1026,1029,1030,1031],{"id":492,"depth":81,"text":493,"children":1027},[1028],{"id":907,"depth":874,"text":908},{"id":953,"depth":81,"text":954},{"id":542,"depth":81,"text":543},{"id":846,"depth":81,"text":847},"Rust daemon for managing AI model downloads from CivitAI with intelligent routing, update tracking, and a Tauri desktop app","\u002Fimages\u002Fwork\u002Fcomfyui-downloader.png",{},"\u002Fwork\u002Fcomfyui-downloader",{"title":897,"description":1032},{"loc":1035},"work\u002Fcomfyui-downloader",[1011,886,569,949],[1011,1041,1042,1017,1043],"Tauri","Svelte","SystemD","GMP6RChlR1gJ7S-JQuURXEumJU60hy6XHPkITGQOfxs",1777186590704]