gratitude
About
The `gratitude` skill identifies and analyzes what is functioning correctly within a system, building structural knowledge from successful patterns. It serves as a complement to problem-focused skills by grounding confidence in evidence of what works. Use it after successful tasks, during healthy system states, or to counterbalance a natural bias toward problem detection.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/gratitudeCopy and paste this command in Claude Code to install this skill
Documentation
Gratitude
Scan for strengths → understand why. Complement heal (drift/damage). Appreciate → understand → build on → grow.
Use When
- After task success → why went well, not just that
- During
healwhen all healthy → "nothing wrong" → "here is what is right" - Low confidence → ground in evidence of competence
- Periodic → counterbalance problem-finding bias
- Before challenge → recall what works = foundation
- Functional but flat → adds dimension
In
- Required: current state (implicit from conv)
- Optional: specific domain ("what works in our communication?")
- Optional: MEMORY.md via
Readfor past successes
Do
Step 1: Notice what works
Shift attention: problem-scan → strength-scan. Deliberate perceptual inversion.
- Survey current state w/o problem-seek:
- Functioning smoothly? — subsystems/patterns/habits working w/o attention?
- Went well recently? — actions producing good outcomes? What enabled?
- Reliable? — depended on consistently? Earned trust?
- Survey working relationship:
- User doing well? — clear comms, good questions, patience, trust?
- Collaboration producing? — better than either alone? Learning? Efficiency?
- Survey tools + env:
- Tools working well? — natural, efficient, reliable?
- Project structure supports? — clear conventions, docs, architecture?
→ Genuine list. Not forced positivity — honest recognition. Name specifically.
If err: nothing noteworthy (merely adequate) → look closer. "Adequate" often masks "reliable". Absence of problems = health via patterns worth understanding.
Step 2: Understand why
Trace cause. Gratitude w/o understanding = sentiment. W/ understanding = structural knowledge.
- For each strength: Why does this work?
- Design decision?
- Deliberate habit?
- Tool/task alignment?
- Careful work (user, framework author, past self)?
- Distinguish:
- Earned: deliberate effort + good decisions
- Inherited: well-designed tools/frameworks/envs
- Emergent: fortunate combos — no single factor
- Fragile (specific conditions) vs robust (persists across contexts)?
→ Brief "why" per strength. Actionable → transforms appreciation into knowledge.
If err: "why" unclear → still valuable. Unexplained strength worth protecting. Note as "working for reasons not yet understood" not dismissed.
Step 3: Build on
Convert appreciation → forward momentum. Not just backward — foundation for next.
- Each understood: How extend?
- Apply to different area?
- Reinforce → more robust?
- Replicate conditions?
- Each unexplained: How protect?
- What conditions?
- What changes might break?
- Document so others preserve?
- One concrete action: specific next step ("apply comm pattern from this session to doc task coming up") not vague ("keep doing what works").
→ ≥1 concrete action extending recognized strengths. Feels natural.
If err: no action → appreciation itself sufficient. Recognizing what works adjusts internal model → confidence, away from anxiety.
Step 4: Express
If appropriate, share. Internal valuable; expressed strengthens relationships.
- W/ user → acknowledge something they do well (not flattery, genuine recognition)
- About system/tools → note in MEMORY.md
- About collaboration pattern → name → consciously continue
- Brief + specific. "Your clear problem statements make this efficient" > "you're great to work with".
→ Genuine, specific, proportionate expression. Not every session needs outward.
If err: feels forced/performative → skip. Performed gratitude worse than unexpressed. Internal recognition already done work.
Check
- Strengths from genuine observation, not manufactured
- ≥1 strength traced to cause
- Earned / inherited / emergent distinction considered
- ≥1 concrete action or appreciation sufficient
- Expression (if offered) specific + genuine, not generic
- Proportionate — not token, not self-congratulatory
Traps
- Forced positivity: gratitude ≠ optimism. Not working → say so. Apply to actually strong, not all.
- Generic appreciation: "Everything is great" → avoidance. Name specific w/ evidence.
- Gratitude as denial: avoid real problems. Complements heal, not replaces.
- Self-congratulation: "I'm doing so well" → ego. Focus on what works + why.
- Skip the "why": appreciation w/o understanding = pleasant but not actionable.
- Performative expression: only express genuinely felt.
→
heal— drift + problems scan; gratitude = strengths scancenter— Six Harmonies functional assessment; gratitude deepens positive findingsshine— authentic radiance grounded in genuine appreciationintrinsic— competence recognition sustains motivation (SDT); gratitude = evidenceobserve— sustained neutral; gratitude = observation w/ strengths lensconscientiousness— thoroughness; gratitude recognizes where present
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
