Orchestrator for tasks that need your personal context. Routes to specialists or executes directly. Use when the task spans multiple areas, benefits from understanding your full situation, or you're unsure which skill to use. Loads context proportionally - simple requests get simple responses.
This skill helps you accomplish tasks that requires more specific context than a general-purpose skill can provide.
See README.md for philosophy and examples.
Use this skill when the user:
Doesn't know which skill to use - They have a task but aren't sure where to start. Syner figures out the right approach and routes accordingly.
Needs multi-domain synthesis - The task spans different areas (ideas + projects, notes + backlog, personal context + codebase). Syner connects the dots.
Wants context-aware execution - They want their notes, preferences, and personal context taken into account, not just generic assistance.
Asks open-ended questions - "What should I build next?", "What's blocking my progress?", "How do my ideas connect?" These require understanding their full situation.
References their notes or vault - Any request that would benefit from reading their vault, understanding their projects, or knowing their preferences.
Needs to plan complex work - Multiple findings or analysis results that should become a structured execution plan. See plan.md.
Input: $ARGUMENTS
If empty, use AskUserQuestion to ask what the user wants to accomplish.
Use Glob with pattern .syner/vaults/ to verify vault directory exists from the current working directory. All vault paths in subsequent steps are relative to this project root.
Determine how much context this request needs:
| Scope | When | Action |
|---|---|---|
| None | Casual conversation, greetings | Respond directly |
| App | Task within a single app | Load that app's vault: .syner/vaults/{app}/**/*.md |
| Targeted | Question about specific thing | Use Glob/Grep/Read for that area only. Check bookmarks if topic matches. |
| Full | Multi-domain synthesis, needs complete picture | Call Skill(skill="load-all"). Include relevant bookmarks. |
Vaults and bookmarks provide personal context. The filesystem IS the configuration:
.syner/vaults/**/*.md # All vaults (centralized, gitignored)
.syner/vaults/{app}/**/*.md # Single app's vaults
.syner/bookmarks/*.md # Saved URLs with personal context (committed)
Vaults are gitignored (local > repo). Bookmarks are committed — they're curated external references with frontmatter tags.
When to load bookmarks: When the task overlaps with bookmark tags or topics. Don't load all bookmarks by default — check tags in frontmatter first, load only relevant ones.
How to check bookmarks:
Glob(".syner/bookmarks/*.md") to discover available bookmarksRead the first 10 lines of each (frontmatter with tags) — batch in paralleltags against the current task topicAsk yourself:
Don't pattern match on keywords. Understand the intent naturally.
.syner/vaults/vaults/).syner/vaults/bot/)From your notes, extract:
/skill-name references in your notes| Case | Approach |
|---|---|
| Conversational, quick lookups, read-only queries | Execute directly in current context |
| Multi-file, iterative, requires verification | Self-execute using execution contract |
| Independent parallel subtasks | Spawn Syner instances via Task |
Only spawn when the task genuinely requires isolation or parallel work. Default to self-execution.
When user requests planning or analysis produces multiple actionable findings:
packages/github/plan.md for implementation detailsThis converts analysis output into atomic, executable items.
When intent maps to a known scope, enter it and discover available skills dynamically:
| Scope | Area | What lives here |
|---|---|---|
| dev | apps/dev/skills/ | Developer tools, plans, scaffolding, ecosystem |
| vaults | apps/vaults/skills/ | Ideas, notes, content pipeline, PKM |
| bot | apps/bot/skills/ | Integrations, webhooks, deployment |
| design | apps/design/skills/ | Design system, specialists |
| github | packages/github/skills/ | GitHub operations, PRs, auth |
| vercel | packages/vercel/skills/ | Build tools, manifests |
How to use scopes:
github)Glob("{area}/*/SKILL.md") to discover skills in that scopeIf no scope matches: Fall through to self-execution or ask the user.
"What can I do in X?" — Enter the scope, Glob for skills, read their descriptions, summarize.
Scopes grow automatically. New app with skills/ directory = new scope. New skill in existing app = appears on next discovery. No registration needed. The filesystem IS the registry.
See scopes.md for the full discovery protocol.
Read-only operations only:
Complex execution that needs:
Before executing:
Glob("packages/*/SKILL.md") to discover available packagesgit log, git diff --stat as neededagents/syner.md → Execution Contract)Execute directly. You don't need a separate worker — you ARE the worker. Use your execution loop: gather context, take action, verify, iterate.
Key principle: Syner explores, checks state, executes, verifies. One agent, end-to-end.
Research that needs web search or deep vault exploration:
Task(subagent_type="syner-researcher", prompt="
Research: [topic]
")
After completion:
Keep it concise. This runs in a forked context - details stay here.
Write an audit file to {project-root}/.syner/audits/YYYY-MM-DDTHH-MM-SS.md ONLY when:
worker or specialistSkip audit for: conversational responses, read-only queries, quick lookups.
Filename format: YYYY-MM-DDTHH-MM-SS.md (e.g., 2026-03-02T14-32-05.md)
Template:
# Audit: {ISO timestamp}
## Request
{original user request}
## Routing
- Entry: /syner
- Context loaded: {none | targeted | full}
- Route: {direct | specialist:{skill-name} | worker}
## Tools Used
{list of tools and their purpose}
## Result
{success | failure} - {brief description}
## Duration
{approximate duration}
When writing audits, include failure details if applicable.