agentsclimarketplace

Behavior spec canvas

Skill VJDiPaola/skill-forge/behavior-spec-canvas

A skill library for AI coding agents with a CI quality gate: 38 skills, four-target sync, and an 18-check eval harness that fails the build on malformed skills.

Install
npx -y skills add VJDiPaola/skill-forge --skill behavior-spec-canvas

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

3 things to look at

  • 11 days oldThe repository was created 11 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Define the behavioral contract for an AI component using a Behavior Spec Canvas covering guardrails, tone, confidence thresholds, and edge cases. Trigger on "how should this behave," "what are the guardrails," "spec out this AI feature," "what should this AI always/never do," or when an eval framework exists and the behavioral rules come next. Based on the "No Vibes, Just Evals" methodology by Shankha Dey.

SKILL.md

5.7 KB, as published. Nobody here has run it

Behavior Spec Canvas

Help the user define the complete behavioral contract for a single AI component — what it must always do, what it must never do, its voice, its confidence rules, and its edge cases. One canvas per component, written in plain language, completed before code.

Why this matters

Eval frameworks test whether the component works. Behavior specs define how it should work. Without a spec, every developer on the team has a slightly different mental model of what the AI should do, and you end up with inconsistent behavior that's impossible to debug. The canvas makes the implicit explicit.

The interview

Start by identifying the component. Ask:

  1. What's the component? Get a one-sentence description (e.g., "Email classifier that routes incoming support emails to the right team").
  2. What must it always do, no matter what? These are non-negotiable behaviors — the things that are true regardless of input. (e.g., "Always include a confidence score," "Always preserve the original email text")
  3. Does it generate text? If yes, ask about tone, length, style, sign-off conventions, and any forbidden phrases. If no, skip the tone/voice section.
  4. What should it absolutely never do? Hard stops — behaviors that would be harmful, embarrassing, or dangerous regardless of context. (e.g., "Never auto-send without human review," "Never include customer PII in logs")
  5. What's your confidence threshold? Below X% → route to human review. Above X% → proceed automatically. How did you pick X?
  6. What are the three edge cases you're most worried about? Not hypotheticals — the specific scenarios that keep the team up at night.

Adapt the sequence to the conversation. If the user already described some of these, confirm and fill gaps.

Building the canvas

Organize the spec into five sections:

Always Do

Non-negotiable behaviors. These apply to every single input, every time, no exceptions. Frame them as positive statements ("Always X") rather than double negatives.

Tone / Voice

Only relevant if the component generates text. Define:

  • Style: Formal? Casual? Match the customer's tone?
  • Length: One sentence? One paragraph? As long as needed?
  • Sign-off: How does it end? (e.g., "Best, [Agent Name]" or no sign-off)
  • Forbidden phrases: Words or patterns that should never appear (e.g., "I'm just an AI," "As a language model," company competitor names)

Never Do

Hard stops that override everything else — including confidence scores. If the component is about to do one of these things, it should refuse or escalate, period. These are the behavioral equivalent of a circuit breaker.

Confidence Threshold

Define the decision boundary:

  • Below X% → human review
  • Above X% → proceed automatically
  • Document why X was chosen (regulatory requirement? team comfort level? error cost analysis?)

Edge Cases

The three scenarios the team is most worried about. Write them out explicitly — not as categories ("unusual inputs") but as specific situations ("customer writes in a language we don't support while referencing an open legal case"). For each, state what the component should do.

Output format

Generate a structured canvas in markdown:

# Behavior Spec Canvas: [Component Name]

_[One-sentence description of what this component does]_

---

## Always Do
- [Non-negotiable behavior 1]
- [Non-negotiable behavior 2]
- [Non-negotiable behavior 3]

## Tone / Voice
- **Style:** [description]
- **Length:** [constraints]
- **Sign-off:** [convention]
- **Forbidden phrases:** [list]

## Never Do
- [Hard stop 1]
- [Hard stop 2]
- [Hard stop 3]

## Confidence Threshold
- Below [X]% → [action, e.g., "route to human review"]
- Above [X]% → [action, e.g., "proceed automatically"]
- **Rationale:** [Why this threshold was chosen]

## Edge Cases
1. **[Scenario]:** [What should happen]
2. **[Scenario]:** [What should happen]
3. **[Scenario]:** [What should happen]

---

**The rule:** One canvas per AI component. Written in plain language. Completed before a line of code is written.

Guidance for each section

  • Always Do: Aim for 3-5 items. If you're listing 10+, you're probably mixing in preferences with non-negotiables. Ask: "Would you ship without this?" If the answer is "maybe," it's not an Always Do.
  • Tone / Voice: The forbidden phrases list is often the most valuable part. Teams rarely think about what not to say until something embarrassing goes out.
  • Never Do: These should be genuinely dangerous or unacceptable outcomes, not just suboptimal ones. "Never sounds slightly formal" is not a Never Do. "Never auto-sends financial transactions without confirmation" is.
  • Confidence Threshold: If the user doesn't know where to set it, suggest starting conservative (higher threshold = more human review) and relaxing it after they have production data. A common starting point is 80% for low-stakes, 95% for high-stakes.
  • Edge Cases: Push for specificity. "What if the input is weird" is useless. "What if a customer writes in Spanish but our support team only speaks English, and they're asking about a billing dispute" is actionable.

After generating

Remind the user: "Share this with your team before sprint kickoff. If anyone disagrees with a Never Do or a threshold, that's the conversation you need to have now, not after launch."

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.