Desktop Tools
Manage Skills, Jobs, Programs, and Credentials in the AssistMe Desktop App.
Overview
The Desktop App sidebar provides access to four management tools: Skills, Jobs, Programs, and Credentials. While Skills and Jobs are also available on the web dashboard, Programs and Credentials are desktop-exclusive features that leverage local storage and OS-level security.
Skills
Skills are reusable instruction sets that extend your agent's capabilities. Think of them as custom prompts that teach the agent how to handle specific types of tasks.
Browsing Skills
The Skills page has two tabs:
| Tab | Content |
|---|---|
| Active / Inactive | Your personal skills, toggled by enable/disable status |
| Explore | Public skills shared by other users that you can discover and use |
Each skill card shows:
- Emoji icon and name
- Enable/disable toggle — Active skills are available to the agent; disabled skills are hidden
- Invocation count — How many times the skill has been used
- Last used date — When the skill was last invoked
Creating a Skill
- Click "+ New Skill" in the header
- Enter a name and emoji for the skill
- Write the skill's instructions in Markdown — this is the prompt the agent will follow when the skill is invoked
- Save the skill
Example skill instruction:
When the user asks you to write a blog post:
1. Ask for the topic and target audience
2. Create an outline with 3-5 sections
3. Write each section with clear, engaging language
4. Add a conclusion with a call to actionManaging Skills
- Click a skill to view its full details and edit its instructions
- Toggle enable/disable to control whether the agent can use it
- Search skills by name using the search bar
- Track metrics — See which skills are used most frequently
Skills created on the desktop sync with the web dashboard, and vice versa.
Jobs
Jobs are automated tasks that can be triggered manually or scheduled to run on a recurring basis.
Viewing Jobs
The Jobs page lists all your active jobs with:
- Job name and description
- Recent runs — The last 5 execution results for each job
- Run status — Success, failure, or pending for each run
- Completion dates — When each run finished
Creating a Job
- Click to create a new job
- Enter a name and description
- Write the prompt — the task the agent will execute each time the job runs
- Optionally link skills to the job — these skills will be active during job execution
Job Run History
Click any job to see its detailed run history:
- Run summaries — What the agent did during each execution
- Status indicators — Whether each run succeeded or failed
- Timestamps — Start and completion times
For scheduling jobs on a cron basis, use the web dashboard's Schedule feature.
Programs
Programs is a desktop-exclusive feature that lets you browse code projects generated by the agent during task execution.
What Are Programs?
When you ask the agent to write code — a script, a web app, a data pipeline — the agent creates the files on your local machine. The Programs page catalogs these projects so you can find and manage them.
Browsing Programs
Each program card shows:
- Project name
- Language badge — Color-coded badges for TypeScript, Python, JavaScript, Rust, Go, Shell, and more
- Directory path — Where the project lives on your file system
- Associated skill — Which skill was used to create it (if any)
- Creation and update dates
Filtering
Filter programs by status:
| Filter | Shows |
|---|---|
| All | Every program |
| Active | Currently active projects |
| Archived | Archived projects |
Opening a Project
Click "Open Code Directory" on any program to open its folder in your system's file manager (Finder on macOS, Explorer on Windows, Files on Linux). This uses native OS integration — the folder opens directly so you can work with the files in your preferred editor or IDE.
For security, the Desktop App validates that the directory path is within your workspace before opening it.
Local-First Storage
Programs are stored in a local SQLite database for fast, offline access. When online, program metadata also syncs with Supabase for backup and cross-device visibility.
Credentials
The Credentials vault is a desktop-exclusive feature that provides secure, OS-level storage for sensitive data like API keys, tokens, and passwords.
Why Credentials?
When agents execute tasks, they often need access to external services — GitHub, AWS, databases, APIs. Instead of pasting secrets into every prompt, you can store them once in the Credentials vault and let the agent access them securely during execution.
Security Architecture
Credentials are protected with multiple layers of security:
| Layer | Protection |
|---|---|
| Encryption | AES-256-GCM encryption for all credential values |
| Key Storage | Master encryption key stored in your OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) |
| Local Storage | Credentials never leave your machine — stored in SQLite at ~/.assistme-data/local.db |
| Fallback | If OS keychain is unavailable, a machine-derived key is used |
| Migration | Automatic transparent migration from legacy keys to keychain-backed keys |
Credential Types
| Type | Fields | Use Case |
|---|---|---|
| API Key | Key value | Service API access (OpenAI, Stripe, etc.) |
| OAuth Token | Token value | OAuth-authenticated services |
| Login | Username + Password | Service account credentials |
| Secret | Secret value | Generic secrets (database URLs, etc.) |
| Custom | Custom fields | Anything else |
Adding a Credential
- Click "+ Add" in the header
- Select the credential type from the dropdown
- Enter a name for the credential (e.g., "GitHub Token")
- Fill in the value fields based on the type
- Optionally associate a skill — restricts the credential to a specific skill
- Save
Managing Credentials
- View/hide values — Click the eye icon to toggle visibility of sensitive fields
- Copy to clipboard — Click the copy icon to copy a credential value
- Search — Filter credentials by name
- Delete — Remove a credential with a confirmation dialog
Skill Association
You can link a credential to a specific skill. When linked, the credential is only available to the agent when that skill is active. This provides an additional layer of access control — a browser automation skill can access browser credentials, but a note-taking skill cannot.
Next Steps
- Cowork Workspace — Use these tools in action while executing tasks
- Agent Control — Make sure the agent is running
- Skills (Web) — Compare with web dashboard skills management
- Jobs & Schedule (Web) — Set up cron-based scheduling on the web