Logs & Monitoring
The Logs page shows every event that flows through your workspace — from database trigger fires to feature decisions and action results.
What gets logged
Every time a trigger fires in your Supabase database, Skene logs:
| Field | Description |
|---|---|
| Timestamp | When the event was received |
| Table | Source table and schema (e.g., public.users) |
| Operation | INSERT, UPDATE, DELETE, or SCHEDULED |
| Trigger | Name of the database trigger that fired |
| Event data | Row payload and enrichment context |
| Loop decisions | Which features matched and what actions were taken |
Logs are retained for the last 7 days and paginated at 50 entries per page.
Reading log entries
Each log entry shows the raw event and a loop dispatch card with per-feature outcomes.
Dispatch phases
For each feature that could match an event, Skene evaluates four phases in order:
| Phase | What it checks | Possible outcomes |
|---|---|---|
| Precheck | Subject extraction, required fields present | Pass / Fail |
| Deterministic gate | Conditions: state check, cooldown, max fires | Pass / Fail / Skip |
| Semantic matcher | LLM intent matching (fallback if gate fails) | Pass / Fail |
| Action | Tool selection and execution | Success / Fail |
A feature fires only if all phases pass. The dispatch card shows which phase passed or failed and why.
Tool selection transparency
When a feature fires, Skene selects an action tool. The log shows:
- Path used — exact match (deterministic) or LLM-ranked
- Confidence score — how confident the matcher is (must exceed the feature's minimum threshold)
- Ranked candidates — top tool candidates with individual confidence scores
- Selected tool — which tool was chosen and the reason
Dispatch outcomes
Each feature in a log entry shows one of these outcomes:
| Outcome | Meaning |
|---|---|
| Success | All phases passed, action executed |
| Failed | A phase failed (hover to see which one and why) |
| Skipped | Feature is paused or conditions not met |
Debugging common issues
Event received but no feature matched
- Check that the feature status is Active (not Draft or Paused)
- Verify the feature's trigger table and operation match the event source
- Check the deterministic gate — a cooldown or max fires limit may be blocking
Deterministic gate failed
- Subject not found — the entity ID column couldn't be resolved from the event payload. Check the feature's subject path configuration.
- State check failed — the entity is in the wrong lifecycle stage. Check lifecycle stage assignments on the workspace journey graph or Agent Engine page.
- Cooldown active — the feature fired recently for this entity. Wait for the cooldown to expire or adjust the cooldown period.
- Max fires reached — the feature has already fired the maximum number of times for this entity.
Semantic matcher failed
The semantic matcher is a fallback that uses LLM matching when deterministic resolution fails:
- Low confidence — the event payload doesn't closely match the feature's trigger and action descriptions. Improve the feature's description text.
- Circuit open — too many recent failures caused the matcher to temporarily disable. It will auto-recover.
Action failed
- Email delivery failure — check that Resend is configured and the recipient email is valid
- Webhook timeout — the target URL didn't respond within the timeout window
- Tool not found — the configured action tool is disabled or doesn't exist
Agent activity
The Agent Activity page (/workspace/[slug]/agent-activity) shows a separate audit trail of all actions taken by the Skene Agent:
- Feature creation and edits
- Email template generation
- Tool executions
- Timestamps and associated features
Next steps
- Features & Deploy — Configure features and their conditions
- Supabase Integration — Trigger deployment and event flow details
