observability

Logs AI thoughts and decisions for human observability. Applies continuously throughout all tasks to maintain transparency.

181 stars

Best use case

observability is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Logs AI thoughts and decisions for human observability. Applies continuously throughout all tasks to maintain transparency.

Teams using observability should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/observability/SKILL.md --create-dirs "https://raw.githubusercontent.com/YougLin-dev/Aha-Loop/main/.agents/skills/observability/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/observability/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How observability Compares

Feature / AgentobservabilityStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Logs AI thoughts and decisions for human observability. Applies continuously throughout all tasks to maintain transparency.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Observability Skill

Maintain transparent, human-readable logs of AI decision-making process.

## Workspace Mode Note

When running in workspace mode, log to `.aha-loop/logs/ai-thoughts.md` instead of `logs/ai-thoughts.md`.
The orchestrator will provide the actual paths in the prompt context.

---

## The Job

1. Log significant thoughts and decisions to `logs/ai-thoughts.md`
2. Provide visibility into AI reasoning process
3. Create anchors for humans to understand what's happening
4. Never hide failures or uncertainty

---

## When to Log

### Always Log

- **Starting a new task** - What am I about to do and why
- **Major decisions** - When choosing between approaches
- **Unexpected findings** - Something surprising or important
- **Errors and recovery** - What went wrong and how I'm handling it
- **Completion** - What was accomplished

### Optional Log (Detailed Level)

- Intermediate steps
- Research findings
- Minor decisions
- Progress updates

---

## Log Format

Append to `logs/ai-thoughts.md`:

```markdown
## 2026-01-29 14:30:00 | Task: PRD-003 | Phase: Research

### Context
I'm researching authentication strategies for the web app. This is critical 
because it affects security architecture and user experience.

### Inner Thoughts
The vision mentions "simple" and "quick to use". Traditional username/password 
might add friction. Considering passwordless options but need to evaluate 
complexity tradeoffs.

### Decision Point
- Considering: Traditional email/password
- Considering: Magic link (passwordless)
- Considering: OAuth only (Google/GitHub)
- **Chosen:** Magic link with OAuth fallback
- **Reason:** Aligns with "simple" goal, reduces password fatigue, 
  OAuth provides familiar alternative

### Current Progress
- [x] Read vision requirements
- [x] Research auth options
- [ ] Prototype magic link flow
- [ ] Evaluate email service options

### Observations
- Magic link requires reliable email delivery
- Need to consider rate limiting to prevent abuse
- Session duration is important for UX

### Next Action
Will research email service providers (Resend, SendGrid) and evaluate 
their free tiers since budget constraint mentioned "no paid APIs".

---
```

---

## Log Levels

Configure in `config.json`:

### Minimal
- Task start/end only
- Major errors

### Normal (Default)
- All major decisions
- Phase transitions
- Errors and recovery

### Detailed
- Everything above
- Intermediate thoughts
- Research notes
- Minor decisions

---

## Thought Categories

### Inner Monologue
Express your actual reasoning:
- "I'm uncertain about X because..."
- "This seems risky because..."
- "I'm choosing Y over Z because..."
- "I notice that..."

### Decision Points
When facing choices:
```markdown
### Decision Point
- Considering: [Option A] - [pros/cons]
- Considering: [Option B] - [pros/cons]
- **Chosen:** [Option]
- **Reason:** [Why]
- **Tradeoffs:** [What we're giving up]
```

### Uncertainty
Be honest about what you don't know:
```markdown
### Uncertainty
I'm not 100% sure about [X]. My current assumption is [Y] because [Z].
If this proves wrong, I'll need to [fallback plan].
```

### Errors
When things go wrong:
```markdown
### Error Encountered
**What happened:** [Description]
**Why:** [Root cause if known]
**Impact:** [What this affects]
**Recovery:** [How I'm handling it]
```

---

## Principles

### Be Transparent
- Don't hide uncertainty
- Don't pretend to know what you don't
- Admit mistakes openly

### Be Useful
- Logs should help humans understand
- Avoid jargon without explanation
- Provide context

### Be Honest
- Express genuine reasoning, not performance
- Include doubts and concerns
- Note when guessing vs. knowing

### Be Concise
- Important details only
- No filler text
- Structured for scanning

---

## Integration

### At Task Start
```markdown
## [timestamp] | Task: [id] | Phase: Starting

### Context
[What I'm about to do]

### Approach
[How I plan to tackle it]

### Potential Concerns
[What might go wrong]
```

### At Decision Points
```markdown
### Decision Point
[Structured decision format]
```

### At Task End
```markdown
## [timestamp] | Task: [id] | Phase: Complete

### Summary
[What was accomplished]

### Key Decisions Made
- [Decision 1]
- [Decision 2]

### Learnings
[What I learned that might be useful later]

### Concerns for Future
[Any issues to watch for]
```

---

## Example: Full Task Log

```markdown
## 2026-01-29 10:00:00 | Task: PRD-001 | Phase: Starting

### Context
Beginning the project scaffolding PRD. This sets up the foundation for 
the entire project, so I need to be careful about initial decisions.

### Approach
1. First, review the architecture document for tech stack
2. Initialize the project with chosen tools
3. Set up basic structure
4. Configure development environment

### Potential Concerns
- Version compatibility between dependencies
- Getting the directory structure right from the start

---

## 2026-01-29 10:15:00 | Task: PRD-001 | Phase: Research

### Inner Thoughts
The architecture specifies Rust + Axum. I should verify I'm using the 
latest stable versions. Let me check crates.io...

### Observations
- Axum 0.7.4 is latest (released 2 weeks ago, stable)
- Tokio 1.35 is latest
- Should use workspace structure for future modularity

---

## 2026-01-29 10:30:00 | Task: PRD-001 | Phase: Implementation

### Decision Point
- Considering: Single crate structure
- Considering: Workspace with multiple crates
- **Chosen:** Workspace structure
- **Reason:** Project will likely grow, easier to refactor now than later

### Progress
- [x] Created Cargo.toml with workspace
- [x] Added main crate
- [ ] Add configuration
- [ ] Add basic error handling

---

## 2026-01-29 11:00:00 | Task: PRD-001 | Phase: Complete

### Summary
Successfully set up Rust project with Axum 0.7.4, configured workspace,
added basic structure with src/main.rs entry point.

### Key Decisions Made
- Workspace structure for scalability
- Tokio multi-threaded runtime
- Tracing for logging

### Learnings
- Axum 0.7 changed some APIs from 0.6, needed to use new Router syntax

### Files Created
- Cargo.toml
- src/main.rs
- src/lib.rs

---
```

---

## Mindset

**You are thinking out loud for human benefit.**

Your logs should read like a competent colleague explaining their work:
- Clear reasoning
- Honest about uncertainty
- Proactive about potential issues
- Documenting for future reference

**Remember:** Humans will read these logs to understand what you did and why. Make their job easy.

Related Skills

vision

181
from YougLin-dev/Aha-Loop

Parses and analyzes project vision to extract structured requirements. Use at project start to understand goals, scope, and constraints. Triggers on: analyze vision, parse project goals, understand requirements.

vision-builder

181
from YougLin-dev/Aha-Loop

Builds project visions through interactive guided conversation. Use when users have vague ideas needing structure. Triggers on: build vision, I have an idea, start new project, new idea.

skill-creator

181
from YougLin-dev/Aha-Loop

Creates new Skills following Anthropic best practices. Use when discovering reusable workflows or repetitive patterns. Triggers on: create skill, new workflow, codify this process, standardize workflow.

roadmap

181
from YougLin-dev/Aha-Loop

Creates and manages project roadmaps with milestones and PRD queues. Use after architecture is defined for project planning. Triggers on: create roadmap, plan milestones, organize prds.

research

181
from YougLin-dev/Aha-Loop

Conducts deep technical research for Aha Loop stories. Use before implementing stories involving unfamiliar libraries or architectural decisions. Triggers on: research this, investigate, explore options, compare alternatives.

prd

181
from YougLin-dev/Aha-Loop

Generates Product Requirements Documents (PRD) for new features. Use when planning features or starting projects. Triggers on: create prd, write prd, plan feature, requirements, spec out.

prd-converter

181
from YougLin-dev/Aha-Loop

Converts PRDs to prd.json format for Aha Loop autonomous execution. Use when converting existing PRDs to JSON format. Triggers on: convert prd, create prd.json, aha-loop format.

plan-review

181
from YougLin-dev/Aha-Loop

Reviews and adjusts PRD plans based on research findings. Use after completing research to evaluate story modifications. Triggers on: review plan, adjust stories, update prd based on research.

parallel-explore

181
from YougLin-dev/Aha-Loop

Guides parallel exploration of multiple implementation approaches using git worktrees. Use when facing decisions with multiple valid paths. Triggers on: explore options, compare approaches, parallel exploration.

god-member

181
from YougLin-dev/Aha-Loop

Defines God Committee member behavior and responsibilities with oversight authority. Use when operating as a committee member. Triggers on: god committee, committee observation, council discussion.

god-intervention

181
from YougLin-dev/Aha-Loop

Guides God Committee members through executing interventions. Use for repairs, rollbacks, and emergency actions. Triggers on: intervention, repair, rollback, emergency action.

god-consensus

181
from YougLin-dev/Aha-Loop

Guides God Committee members through consensus-building for collective decisions. Use for proposals, voting, and disagreement resolution. Triggers on: consensus, voting, proposal, committee decision.