Agent skill
effect-time-tracing-logging
Time with Clock/Duration, tracing spans, and structured logging. Use for time-based logic, deadlines, and observability.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/effect-time-tracing-logging-mepuka-adjunct
SKILL.md
Time, Tracing & Logging
When to use
- You need timeouts, deadlines, or sleeps
- You want spans for latency analysis or logs for debugging
Time
import { Clock, Duration } from "effect"
const now = yield* Clock.currentTimeMillis
yield* Effect.sleep(Duration.seconds(1))
Timeout
const guarded = yield* Effect.timeout(task, Duration.seconds(2))
Tracing (span wrapper pattern)
const op = Effect.withSpan("operation")(Effect.succeed(1))
Logging
yield* Effect.logInfo("message")
yield* Effect.logDebug("debug")
yield* Effect.logError("error")
Real-world snippet: set minimum log level via Layer
import { Effect, Option, Logger, LogLevel, Layer } from "effect"
export const setMinimumLogLevel = (cliLevel: Option.Option<LogLevel.LogLevel>) =>
APP_CONFIG["LOG_LEVEL"].pipe(
Effect.map((envLevel) => Option.zipLeft(cliLevel, envLevel)),
Effect.map(Option.getOrElse(() => LogLevel.Info)),
Effect.map((level) => Logger.minimumLogLevel(level)),
Layer.unwrapEffect
)
Guidance
- Prefer
Durationhelpers for clarity of units - Wrap critical sections with spans; attach attributes for context
- Use structured logs and avoid ad-hoc console prints
Pitfalls
- Mixing ms numbers → use
Durationconsistently - No timeouts on external calls → risk of hanging operations
Cross-links
- Errors & Retries for timeouts+races
- Concurrency for coordinated time-based operations
Local Source Reference
CRITICAL: Search local Effect source before implementing
The full Effect source code is available at docs/effect-source/. Always search the actual implementation before writing Effect code.
Key Source Files
- Clock:
docs/effect-source/effect/src/Clock.ts - Duration:
docs/effect-source/effect/src/Duration.ts - Effect (withSpan, log):
docs/effect-source/effect/src/Effect.ts - Logger:
docs/effect-source/effect/src/Logger.ts - LogLevel:
docs/effect-source/effect/src/LogLevel.ts
Example Searches
# Find Clock operations
grep -F "currentTimeMillis" docs/effect-source/effect/src/Clock.ts
grep -F "sleep" docs/effect-source/effect/src/Clock.ts
# Study Duration helpers
grep -F "seconds" docs/effect-source/effect/src/Duration.ts
grep -F "millis" docs/effect-source/effect/src/Duration.ts
grep -F "minutes" docs/effect-source/effect/src/Duration.ts
# Find span and logging patterns
grep -F "withSpan" docs/effect-source/effect/src/Effect.ts
grep -F "logInfo" docs/effect-source/effect/src/Effect.ts
grep -F "logError" docs/effect-source/effect/src/Effect.ts
# Look at Logger implementation
grep -F "minimumLogLevel" docs/effect-source/effect/src/Logger.ts
Workflow
- Identify the time/logging API you need (e.g., Clock, Duration, withSpan)
- Search
docs/effect-source/effect/src/for the implementation - Study the types and time-based patterns
- Look at test files for usage examples
- Write your code based on real implementations
Real source code > documentation > assumptions
References
- Agent Skills overview: https://www.anthropic.com/news/skills
- Skills guide: https://docs.claude.com/en/docs/claude-code/skills
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?