Skip to main content

Skej: Best Practices & Boundaries

What are the best practices and limitations to your Skej assistant?

Updated over 2 weeks ago

Skej is designed to be reliable, predictable and safe.

Below is a breakdown of current limitations so teams understand how Skej behaves, how to ensure success, and how to avoid any confusion.


1. Availability & Preference Management

1.1 Preferences Cannot Be Changed via Natural Language

Skej doesn't modify scheduling preferences based on conversational requests via email, Slack, text, or WhatsApp.


For example:

  • “Only book me meetings after 10am.”

  • “Never schedule me on Fridays.”

  • “Add a 30-minute buffer before meetings.”

  • “Reduce my daily meeting cap to 3 hours.”

These changes must be made in your settings. Even if your assistant says it made the change, it will only remember it for that meeting. So make sure to save preferences like this, adjust your settings in the dashboard.


1.2 One-Off Freeform Instructions Do Not Persist

This is similar to the above constraint. If you give an instruction like this:

  • “Always schedule meetings with John at the Coffee Shop.”

  • “When I meet with Paul, always title it 'Pizza Party'.”

  • “If someone suggests an hour meeting, always tell them only 30 minutes.”

  • "You can always reschedule over my 1-1 with Beck on Fridays."

Skej may apply that instruction to the current scheduling interaction, but it won't create any long-term rules, even if it confirms your request.

These types of rules may be added to your Instructions/Memories settings, and the assistant will take them into consideration. See Instructions limitations below for more information on how to use these carefully.


1.3 Availability May Appear Open — But Skej Says Busy

If Skej says you're unavailable while your calendar looks open, it may be enforcing:

  • Daily meeting limits

  • Buffer settings

  • Minimum notice rules

  • Time-of-day constraints

  • Scheduling window rules

Skej enforces these constraints consistently and doesn't override them automatically. However, it may not be able to communicate those settings to you easily, which can create confusion.

If something looks incorrect, check your settings first.


1.4 No Automatic Meeting Prioritization

Skej does not currently:

  • Prioritize one contact over another

  • Automatically bump lower-priority meetings

  • Reshuffle existing meetings to accommodate new ones

If a conflict exists, Skej will ask for direction instead of making autonomous decisions. This is intentional to prevent unintended calendar disruption.


1.5 Custom Instructions

Skej supports open-ended custom instructions that allow users to define nuanced scheduling logic.


Examples:

  • “Don’t schedule Fridays unless it’s the only time available.”

  • “If I tell you to offer times starting at a future date, never offer times before that date.”

  • “Always prefer mornings for internal meetings.”

  • “Avoid back-to-back meetings with external clients.”

Custom instructions operate as supplemental logic layered on top of your core availability rules.


Important Considerations

  • Custom instructions are flexible and open-ended.

  • They are not pre-structured toggles.

  • They may not behave perfectly on the first attempt.

  • They should be tested in real scenarios and may require refinement over time.

Because these instructions are freeform and expressive, edge cases can occur depending on phrasing and context.

Contact-Specific Instructions

Instructions that reference specific people (e.g., “Always prioritize John” or “Never offer late afternoons to Sarah”) should be used carefully.

Custom instructions are evaluated for every scheduling interaction — not scoped automatically to a single contact.

This means:

  • The instruction may influence meetings beyond the intended person.

  • Overlapping rules can create mixed or conflicting logic.

  • Behavior may become difficult to predict if too many person-specific rules are layered.

Best practice:

Keep custom instructions general when possible. If contact-specific logic is necessary, test thoroughly and monitor behavior.

Avoid Conflicting Logic

Because Custom Instructions are flexible and expressive, conflicts can occur when:

  • An instruction contradicts a core setting.

  • Multiple custom instructions overlap.

  • A temporary instruction conflicts with a global one.

When conflicts exist, Skej attempts to reconcile them logically — but behavior may not always align with user expectations.



2. Channel-Specific Guardrails

Skej behaves differently depending on communication channel.


2.1 Email

Email is the most flexible interface. However:

  • Complex, multi-layered instructions may require clarification.

  • The more requests included in a single message, the harder it is for the assistant to parse.

You can batch multiple requests in one, but try to keep instructions clear and focused when possible and if possible, break into multiple tasks.

2.2 Email Thread Consistency

Skej operates based on the context of the active scheduling thread. If a meeting is being coordinated in an email thread, instructions related to that meeting should remain in that thread.

Avoid Mixing Thread + 1:1 Instructions

A common pattern that can cause confusion:

  • A scheduling thread is active with multiple participants.

  • A user emails Skej separately 1:1 with additional instructions.

  • The user expects those instructions to silently influence the active thread.

While Skej may process portions of that message, behavior can become inconsistent because:

  • Thread context differs

  • Participant visibility differs

  • State is maintained per conversation

Best practice:

Keep all meeting-specific instructions within the original scheduling thread. If you need to modify logic privately, clearly reference the meeting and confirm behavior before assuming changes were applied.

2.3 Assistant Will Not Act Unless the User Is Included

Skej (including Custom Assistants) will only act on scheduling requests when the user it represents is included on the email thread.

If someone emails the assistant and says, for example, “I’d like to meet with Justin,” but does not include Justin on the email, the assistant will not respond.

This limitation exists because Skej assistants are designed to operate across users and organizations.

Automatically searching the user database and selecting a person based on name or context creates risk of:

  • Representing the wrong user

  • Accessing the wrong calendar

  • Acting without proper authorization

Even within a single company or team, one assistant can represent thousands of people.

To ensure accuracy and protect user privacy:

  • The intended user must be included on the email thread, or

  • The user must explicitly instruct the assistant to begin scheduling.

If a contact emails both the assistant and the user on any email, the assistant will ask the user to confirm before proceeding.

We recognize this adds a small amount of friction. It is a deliberate safeguard based on how Skej’s architecture works today. Improvements in this area are actively being explored.

2.4 Slack

Slack scheduling is designed for internal coordination.


Works:

  • Internal DMs, channels, and group DMs

  • Internal meeting scheduling

  • All participants are Skej users

Does not work:

  • Slack Connect channels

  • External contacts

  • Mixed Skej / non-Skej Slack scheduling

Slack lacks the routing and identity infrastructure required for external coordination.

2.5 Text / WhatsApp

Designed primarily for personal calendar control.


Works:

  • Blocking time

  • Moving existing meetings

  • Solo scheduling actions

  • New requests with external contacts can be DM'd, but will be relayed over email (i.e. "Set up a meeting with Paul Canetti for next week" > Assistant will email Paul to set up the meeting)

Does not work:

  • Group SMS threads

  • WhatsApp group chats

  • Group scheduling (even if all members are Skej users)

If you request a meeting with another person via text/WhatsApp, Skej will coordinate externally via email.

This ensures reliability and auditability.



3. Contact Memory & Context

Skej currently:

  • Does not prioritize specific contacts

  • Does not store long-term relationship context

  • Does not track VIP status

  • Does not remember past preference patterns

It only stores timezone and required scheduling metadata. Each request is evaluated independently against current rules.



Skej is an autonomous scheduling assistant operating within clearly defined system boundaries.

It is designed to:

  • Coordinate intelligently

  • Enforce availability consistently

  • Operate across email, Slack, and SMS

  • Execute calendar actions automatically

  • Respect configured rules and enterprise constraints

When Skej asks for clarification or enforces a rule, it is not malfunctioning, it's applying the logic of your configured scheduling settings.


Understanding these boundaries ensures:

  • Fewer surprises

  • Cleaner coordination

  • More predictable outcomes

  • Higher trust in your assistant



How to Get the Best Results

To maximize effectiveness:

  • Update availability rules in settings (not conversationally).

  • Keep multi-step scheduling instructions clear and structured.

  • Use Slack for internal meetings only.

  • Use email for external coordination.

  • Use SMS/WhatsApp primarily for personal calendar control.

  • Review buffers and meeting caps if availability seems incorrect.

Skej performs best when its autonomy is paired with clear configuration.



Looking Ahead

As Skej continues to evolve, areas of expansion include:

  • Structured natural language preference updates

  • Contact prioritization logic

  • Enhanced group messaging support

  • Context-aware scheduling improvements

Our goal is to increase autonomy without compromising predictability.

Did this answer your question?