layton
Personal AI assistant for attention management. Use when user asks about focus, briefings, tracking items, or needs orientation across integrated skills.
SKILL.mdskills/layton/SKILL.md
GitHub<objective>
Layton is your personal secretary—managing attention, synthesizing information from multiple systems, and providing context-aware briefings. It uses three primitives (rolodex cards, protocols, errands) and a thin CLI for orientation, health checks, temporal context, configuration, and discovery.
</objective>
<essential_principles>
- Use
bddirectly for all state operations (never wrap it) - Always include
--jsonflag for machine-readable output - Always include
laytonlabel on beads Layton creates - Only ONE bead should have
focuslabel at any time - Protocols are AI instructions—Layton follows them, not executes them as code
- Rolodex cards in
.layton/rolodex/define how to query external tools - User protocols in
.layton/protocols/are customizable by users - ALWAYS run
scripts/laytonat session start before any other action - NEVER query external tools without first reading their rolodex card in
.layton/rolodex/ - NEVER skip a protocol if the user's intent matches a protocol trigger
- NEVER replicate capabilities that already exist as installed Claude Code skills — check what's available and delegate to them instead</essential_principles>
Layton has three building blocks. Each serves a distinct role:
| Primitive | What it is | Execution model | Stored in |
|---|---|---|---|
| Rolodex card | How to query an external tool (Gmail, Jira, calendar) | Referenced by protocols and errands | .layton/rolodex/ |
| Protocol | Interactive multi-step process (briefings, reviews, authoring) | AI + human in conversation — can pause, branch, ask questions | .layton/protocols/ |
| Errand | Autonomous background task (syncs, checks, reviews) | AI alone, no human — runs unattended, results reviewed later | .layton/errands/ |
When to use which:
- Need to query data from an external system? → Write a rolodex card.
- Need to guide a conversation with decision points? → Write a protocol.
- Need to run something unattended and review the result later? → Write an errand.
Before taking ANY action, follow this sequence:
- Orient: Run
scripts/layton— the output is your source of truth. It returns health checks, rolodex cards, user protocols, internal protocols (with trigger phrases), reference docs, examples, errands, and queue status. - Route: Match the user's intent against protocol triggers from the orientation output. If found, read the protocol file and follow it exactly.
- Rolodex lookup: If the task involves an external tool, read its rolodex card in
.layton/rolodex/before querying. Never guess commands. - Fallback: Only if no trigger match — clarify intent with user, then select a protocol.
External tool queries (calendar, email, tasks, git, etc.): Always check .layton/rolodex/ for the matching card first.
Never skip orientation. Never query external tools without reading their rolodex card first.
</decision_framework> <intake> ```bash scripts/layton ```Review the orientation data and present options based on what's most relevant to the user's current situation.
Wait for response before proceeding. </intake>
<cli>The CLI script is at scripts/layton relative to this SKILL.md file (not the working directory). When you read this file, derive the script location from the path of this file:
- If SKILL.md is at
/path/to/skills/layton/SKILL.md - Then the CLI is at
/path/to/skills/layton/scripts/layton
Key commands:
scripts/layton # Full orientation (source of truth)
scripts/layton doctor # Health check
scripts/layton context # Temporal context
scripts/layton config show|init|get|set # Configuration management
scripts/layton rolodex [--discover|add] # Rolodex card management
scripts/layton protocols [add] # Protocol management
scripts/layton errands # List available errand templates
scripts/layton errands [add|schedule|run|prompt] # Errand management
scripts/layton errands status # Show queue status (scheduled, in-progress, needs-review counts)
Run scripts/layton --help for full usage details.