claude-code-plugin-reference
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops; use night-market-operations.
pinned to #f59652eupdated 3 months ago
Ask your AI client: “install plugins/herald”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install plugins/heraldmetahub onboarded this repo on the author's behalf.
If you own github.com/athola/claude-night-market on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
324
Last commit
3 months ago
Latest release
published
- #ai-agents
- #architecture-patterns
- #awesome-claude-code
- #awesome-claude-skills
- #claude-agents
- #claude-code
- #claude-code-plugins
- #claude-code-plugins-marketplace
- #claude-commands
- #claude-hooks
- #claude-skills
- #code-review
- #gemini
- #git-workflow
- #memory-palace
- #python
- #qwen
- #resource-optimization
- #spec-driven-development
- #test-driven-development
About this skill
Pulled from SKILL.md at publish time.
This is the domain pack for how Claude Code plugin machinery works in this repository. It covers manifests, skills, commands, agents, hooks, and the marketplace registry, with the local conventions layered on top. Every contract below was checked against a shipped plugin (mostly plugins/imbue, plugins/abstract, and plugins/herald) on 2026-07-02 at repo v1.9.15. When another night-market skill says "see the plugin reference for what a hook payload is," this is the file it means.
Automated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.f59652e· 3 months ago
Behavioral checks ran but aren't published for this artifact; the static checks above ran at publish time.
Documentation
2 passed2 warningsREADME is present and substantialwarn
README present but its contents couldn't be read this scan
Transient fetch issue — re-run the eval to grade the README's substance.
Tags / topics declaredwarn
No manifest tags and no GitHub repo topics
Add tags to the manifest (or GitHub topics on the repo) so the registry's search and category filters surface this artifact.
Description quality
23 words · 158 chars — "Explain plugin, skill, command, agent, and hook mechanics used here. Use when au…"
Homepage / docs URL declared
no homepage declared (registry will use the repo URL) — info-only, not blocking
Release history
1- releasecurrentf59652ewarn3 months ago
Contents
Herald
Standalone notification system for Claude Code plugins. Provides GitHub issue alerts and webhook support (Slack, Discord, generic).
Overview
Herald was extracted from the egregore plugin to allow independent installation of notification functionality. Any plugin can use herald to send alerts without depending on the full egregore orchestrator.
Features
- GitHub issue creation via
ghCLI - Webhook delivery to Slack, Discord, or generic endpoints
- SSRF protection with URL validation
- Configurable source labels for multi-plugin use
Usage
from notify import AlertEvent, alert
# Send a GitHub issue alert
alert(
event=AlertEvent.CRASH,
detail="Worker process crashed",
source="my-plugin",
)
# Send to Slack webhook
alert(
event=AlertEvent.PIPELINE_FAILURE,
webhook_url="https://hooks.slack.com/services/T00/B00/xxx",
webhook_format="slack",
detail="Build failed on main",
)
Alert Events
| Event | Value | Description |
|---|---|---|
| CRASH | crash | Process or agent crash |
| RATE_LIMIT | rate_limit | API quota exceeded |
| PIPELINE_FAILURE | pipeline_failure | Build/deploy failure |
| COMPLETION | completion | Task finished |
| WATCHDOG_RELAUNCH | watchdog_relaunch | Watchdog restarted agent |
Stop-Hook Continuation Judge
Herald registers a Stop hook, double-shot-latte, that decides
whether Claude has more autonomous work to do when a turn ends.
It reads the last assistant message and continues only on an
explicit statement of intent to keep working.
A question, a handoff, or a completion signal lets the turn stop.
The default is to stop, so finished work is not nagged.
To prevent runaway loops, the judge allows up to 10 auto-continue cycles (configurable) within a 5-minute window before pausing to check in. When the limit is reached it stops, names the limit, and invites you to reply if more work remains. The counter is then reset, so a resumed run starts a fresh budget rather than re-tripping the limit.
Configuration
| Variable | Default | Effect |
|---|---|---|
DOUBLE_SHOT_LATTE_MAX_CONTINUATIONS | 10 | Auto-continue cycles allowed in the window before a check-in. A non-positive-integer value falls back to the default. |
DOUBLE_SHOT_LATTE_LLM | unset | Set to 1 to consult an LLM as a tiebreaker on ambiguous turns. |
DOUBLE_SHOT_LATTE_MODEL | haiku | Model used for the optional LLM tiebreaker. |
The judge is pure Python standard library and needs no jq,
claude CLI, or /tmp, so it behaves the same on Linux, macOS,
and Windows.
The optional LLM tiebreaker falls back to the deterministic
verdict when claude is unavailable, so the default behavior
never depends on the network.
Design note
Herald registers no skills intentionally. It is a hook-and-script library: other plugins call its scripts directly or invoke its hooks rather than using it as a skill source. Adding skills here would create an inappropriate coupling layer between notification mechanics and skill dispatch.
Development
make deps # Install dependencies
make test # Run tests
make check # Run all checks (lint, type-check, test)
Reviews
No reviews yet. Be the first.
Related
Claude Mem
Memory compression system for Claude Code - persist context across sessions
ECC
Harness-native ECC plugin for engineering teams - 63 agents, 249 skills, 79 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
ponytail
Lazy senior dev mode. Forces the simplest, shortest solution that actually works: YAGNI, stdlib first, no unrequested abstractions.
mh install plugins/herald