agentsclimarketplace

Moo authoring

Skill saadshahd/moo.md/.claude/skills/moo-authoring

Stay present with AI. A Claude Code plugin that keeps you understanding what you sign to own.

Install
npx -y skills add saadshahd/moo.md --skill moo-authoring

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Use when adding or changing a skill, fragment, hook, or runtime file in this repo — including deciding which unit a new capability should be.

SKILL.md

3.1 KB, as published. Nobody here has run it

Doctrine for authoring moo's own surfaces.

Frontmatter

A skill's frontmatter carries name and description; read any shipped SKILL.md for the current key set. The description is one line, and Claude Code caps it at 1024 characters.

Version lives in plugin.json only (DRY). The official Claude Code spec does not allow version in SKILL.md frontmatter.

Sizing

  • Size a skill by a deletion pass, never a numeric cap — the same bar hope/skills/card.md sets for cards.
  • Put branch-specific content in files the skill opens when the branch is taken, and name them where they are needed.
  • Decision tables > prose explanations.

Token Efficiency

  • Challenge every sentence: "Does Claude need this?"
  • Bullets for enumerable items; a paragraph when the point is one connected argument.
  • No vague terminology; pick one term per concept.

Skill Design

Phrase design decisions as "X over Y: reason".

Unit choice — behavior inlines at build, data references at runtime; a skill's firing is probabilistic, so behavior that must run every time is a hook:

The new thing is...Unit
A contract that must read identically in ≥2 skillsFragment (<plugin>/skills/*.md, added to sync --files)
Data selected per use (catalog, profile, corpus)Runtime file
A trigger + procedure that stands aloneSkill
A trigger only the human perceivesSkill with disable-model-invocation: true
Behavior that must run every time, deterministicallyHook
An unproven ideahunch skill + HYPOTHESIS.md; graduates or dies

Composition — artifacts and priming over imports:

  • Skills compose through emitted artifacts (the card) and natural-language triggers, never cross-references.
  • New pipeline stage when the cognitive mode changes (clarify WHAT ≠ decide HOW ≠ judge unsupervised work; find ≠ fix). One skill = one mode + one gate.
  • Chain mechanics: each stage ends in a gate the user locks; the card carries only what the next stage can't re-derive; the shared contract is a fragment doc-gen'd into every stage.
  • Two skills over one when triggers differ; a shared explanation the pair needs lives in CHANGELOG, not in either skill.

Hook Design

Hooks run beside the thread, never in front of it — they never gate.

Mode = two questions: does the foreground need the result, and now?

ModeWhen
Sync injectFew lines of framing, computed instantly
async — fire-and-forgetSide effect only; surfaces as a file change, never re-engages the thread
asyncRewake — fire-and-maybe-wakeOff-thread check; exit 2 wakes Claude on a finding, exit 0 stays silent

A hook that spawns headless claude -p copies its flag set from the two shipped hooks, where each flag is commented at the point of use (hope/hooks/judge.sh, hope/hooks/memory-write.sh), and keeps its verdict logic in one file shared with its eval harness.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.