{"slug": "ihatedevops-com-because-devops-separates-vibe-coder-from-engineer", "title": "Ihatedevops.com – because DevOps separates vibe coder from engineer", "summary": "A new skill for Claude Code called 'ihatedevops' automatically injects 10 DevOps best practices into every session, including secure Chainguard images, multi-stage builds, non-root users, SHA-pinned actions, and least-privilege tokens, without requiring explicit requests. The plugin is available via the Claude plugin marketplace as 'zenconnor/ihatedevops'.", "body_md": "someone who does not, in fact, hate devops. devops is just hard.\n\n➜~/devcat about.txt\n\nihatedevops\n\nA skill for Claude Code that quietly injects 10 atomic\nDevOps best practices into every session. Ask for a Dockerfile,\nget secure Chainguard images, multi-stage builds, and a non-root\nuser — without asking. Ask for a CI pipeline, get SHA-pinned\nactions and least-privilege tokens. That kind of thing.\n\nclaude plugin marketplace add zenconnor/ihatedevops && claude plugin install ihatedevops@ihatedevops\n\nthe official plugin — gets updates. already inside a claude session? same thing: /plugin marketplace add zenconnor/ihatedevops, then /plugin install ihatedevops@ihatedevops.", "url": "https://wpnews.pro/news/ihatedevops-com-because-devops-separates-vibe-coder-from-engineer", "canonical_source": "https://ihatedevops.com/", "published_at": "2026-07-27 21:00:37+00:00", "updated_at": "2026-07-27 21:22:35.593490+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Claude Code", "Chainguard", "ihatedevops", "zenconnor"], "alternates": {"html": "https://wpnews.pro/news/ihatedevops-com-because-devops-separates-vibe-coder-from-engineer", "markdown": "https://wpnews.pro/news/ihatedevops-com-because-devops-separates-vibe-coder-from-engineer.md", "text": "https://wpnews.pro/news/ihatedevops-com-because-devops-separates-vibe-coder-from-engineer.txt", "jsonld": "https://wpnews.pro/news/ihatedevops-com-because-devops-separates-vibe-coder-from-engineer.jsonld"}}