jhack

Sync code, inspect relations, and replay events for Juju charms.

3|Updated Aug 3, 2025
One-click install
npx skills add https://github.com/tonyandrewmeyer/charming-with-claude --skill jhack
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jhack
Source: https://github.com/tonyandrewmeyer/charming-with-claude/tree/main/claude-instructions/.claude/skills/jhack
Command: npx skills add https://github.com/tonyandrewmeyer/charming-with-claude --skill jhack

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill provides expert guidance for using jhack, a collection of developer utilities that streamline Juju charm development, debugging, and testing workflows.

Core Features & Use Cases

  • Rapid development workflows: Sync code and test in seconds
  • Debugging utilities: Inspect relations, state, and events
  • Event replay & scenario testing: Capture, replay, and analyze production events
  • Complete command reference: All jhack commands documented
  • Troubleshooting guide: Solutions for common issues

Quick Start

Use the jhack skill to rapidly iterate on charms by syncing code to units, tailing events, and replaying captured events; e.g., jhack sync src/ myapp/0, jhack tail myapp/0, jhack replay install myapp/0.

Frequently Asked Questions about jhack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync code to a running Juju charm unit for rapid testing?

jhack sync pushes your local charm code to running units in seconds, enabling fast iteration without redeployment. Use `jhack sync src/ application/0` to mirror changes instantly and test them live.

Can I replay captured Juju events to debug charm behavior?

Event replay in jhack captures production events and re-fires them against your charm code, letting you reproduce and debug issues without redeploying. Use `jhack replay install application/0` to replay specific events.

What's the best way to inspect Juju charm relations and state during development?

jhack provides utilities to inspect relation data, unit state, and event streams in real time. Tail events with `jhack tail application/0` or query relations directly to validate charm behavior during debugging.

How do I run scenario-based tests for Juju charms?

Scenario testing in jhack lets you simulate charm events and relations in controlled conditions before deploying. This validates charm logic against expected behavior without a live Juju model.

Does jhack work for debugging charm relation hooks and event sequences?

Yes, jhack includes debugging utilities specifically for inspecting relations, tracing event sequences, and replaying events to identify issues in relation hooks and charm state transitions.