with one click
friday-studio
friday-studio contains 21 collected skills from friday-platform, with repository-level occupation coverage and site-owned skill detail pages.
Skills in this repository
Create, list, update, delete, and clean up workspaces via the daemon HTTP API at $FRIDAYD_URL. Use when the user asks to create, edit, delete, or list workspaces, spaces, projects, or environments; add or patch signals / agents / jobs / memory / skills; convert a workspace.yml into a live workspace; wire up triggers (HTTP webhooks, cron, fs-watch, Slack / Telegram / WhatsApp); or clean up test/scratch workspaces.
Interacts with a running Friday daemon via CLI and HTTP — lists/creates/modifies workspaces, triggers signals, watches sessions, publishes skills and agents. Use whenever you need to poke at a local Friday daemon, inspect its state, fire a signal, drive the autopilot / self-modification flywheel, create a workspace programmatically, or validate that a workspace.yml you just authored actually runs. Also use when the task involves `$FRIDAYD_URL`, `deno task atlas`, curl-ing the daemon, or automating Friday itself.
Connects an external service's webhook (Bitbucket / Jira / GitHub / custom) to a workspace's HTTP signal via Friday's `/hook/raw/` tunnel URL. Use ONLY when the user asks how to point an upstream system at Friday: the URL shape, how to get the current tunnel host, the upstream UI steps, or the workspace.yml signal shape that accepts the body without stripping it. Everything that happens AFTER Friday receives the webhook — agent implementation, payload parsing, env wiring, HMAC verification, posting back to the upstream — is out of scope for this skill.
Authoring guide for Python user agents (type:"user") on the Friday platform via the friday-agent-sdk. Covers the @agent decorator, AgentContext capabilities (ctx.llm, ctx.http, ctx.tools, ctx.stream), structured input parsing, result types, and the NATS subprocess execution model. Load when an agent.py exists in scope, when imports from friday_agent_sdk are present, when an @agent decorator is being authored or modified, or when upsert_agent was just called with type:user. Do NOT load to decide whether to author a user agent — that decision belongs in the workspace-chat agent_types rules.
Authors Friday workspace signals with correct provider configs, payload schemas, and runtime wiring. Use when creating or editing signals in workspace.yml; when a signal needs to accept user input from the Run dialog; or when signal validation or runtime dispatch fails.
Use when choosing between install, enable, disable, or delete for an MCP server; when an agent needs to discover or delegate to MCP servers; or when MCP tools fail with credential, connection, or prefixing issues.
Author FSM workspace jobs. Use when creating, editing, or debugging jobs, signals, or FSM workflows in workspace.yml.
Triage entry-point for any "the job ran but something's wrong" situation in a Friday workspace. Loads when a job tool returns `output-error`, `success: false`, `summary: ""`, `artifactIds: []`, or any session with `status: failed`. Routes to the right sibling debug skill. Required reading before declaring "platform bug" / "FSM wiring is broken" / "this is a known issue" — those claims are FORBIDDEN without first walking this triage table.
Loads when a workspace job tool (called from chat) returns `output-error` with no meaningful error text — typically because the tool was invoked with bare `{}`. Job tools require `{prompt: "..."}` — the prompt becomes the signal payload. Do NOT conclude "the tool isn't bound to this chat session"; retry with a prompt arg first. Also covers Pattern A vs Pattern B job shapes and the manual / signal-name distinction.
Canonical reference for the contract between an FSM action and the agent it invokes. Loads when authoring or debugging any combination of: `type: llm` inline action, `type: agent` action with `outputTo`, `type: agent` action with `inputFrom`, agent prompts that need to coordinate with the action invoking them. Covers what the runtime auto-injects per invocation kind (platform tools, `complete` when `outputTo` is set), `outputTo` semantics, `inputFrom` resolution, the four invocation kinds.
Authors new agent skills that follow the Anthropic + agentskills.io specification. Use when the user asks to create, draft, review, or refactor a skill, write a SKILL.md file, lay out reference files, or bundle scripts. Covers frontmatter rules, 500-line / 5000-token body budgets, one-level-deep reference layout, progressive disclosure, gotchas sections, control calibration, the evaluation-first authoring loop, and the lint gate before publish.
Loads when a workspace job tool returns `success: true, status: completed` AND (`summary: ""` OR `artifactIds: []` OR summary equals "Session completed without producing a summarizable document"). Diagnostic checklist for sessions that ran successfully but emitted nothing useful. Most common cause: the agent's prompt didn't instruct the LLM to call `complete()` for an `outputTo` action. Do NOT migrate Pattern A → Pattern B FSM as a fix — that's almost always wrong.
Loads when a session ends with `status: failed` AND a structured error message. Recognize: `did not call complete` (agent never called the injected complete tool); `emitted empty output` (called complete with `{}`); `emitted an empty response` (called complete with empty string); `LLM step failed:` (agent called failStep); `output does not match schema` (outputType validation failed); `Invalid job config` / `Invalid signal config` (Zod schema rejection on upsert). Each pattern has a one-line fix in the table below.
Loads when a session shows many tool calls (often the same name repeated) with no terminal text, no `complete` call, and either hits `stopWhen: stepCountIs(...)` (default 10) OR exhausts max output tokens. The LLM is in a tool loop without producing a final message. Distinguish from `debugging-empty-output` — that's about contract exits being absent; this is about the LLM never deciding to stop. Required: the agent prompt needs an explicit termination criterion.
Loads when the agent calls `delegate({...})` for a non-trivial sub-task. Covers what the child sees and doesn't see (the child has NO `load_skill` and NO available-skills index — the parent must pre-push skills via `delegate({skills: [{name, refs?}]})`); how to write a good `handoff`; when to push specific reference files via `refs:`; the `mcpServers:` allowlist; budget envelope (`max_steps`, `max_output_tokens`, `max_depth`); the `{ok, answer | reason, toolsUsed}` return contract; when to delegate vs call a tool inline.
Repairs and upgrades existing Friday workspaces, jobs, user agents, and generated agents to current runtime contracts. Use when a workspace/job/agent is failing, when upgrading old workspace.yml or Python agents, when tools are missing or unauthorized, when jobs emit empty outputs, or when an interactive workflow needs HITL repair.
Asks the user mid-run from inside an FSM action or Python `type: user` agent via the elicitation tools — `request_tool_access` for allowlist approvals and `request_human_input` for HITL (human-in-the-loop) decisions, approvals, confirmations, and disambiguation. Use when a job needs the user to choose, approve, or supply input before the action can continue. Covers simple multiple choice, nested per-item choice, prompt formatting, and how to consume the answer.
How to read and write Friday memory stores correctly: store selection, terse entry format, large-content artifact pattern, and what's auto-injected into the system prompt.
Internal pattern guide for composing turn-local retrieval-gated context into a synthetic user-message preface. Documents the `composePreface` helper in `@atlas/core/agent-context/compose-preface`. Loaded by infrastructure code that assembles per-turn LLM input — not user-invocable.
General styling and tone guidelines for composing HTML emails. Use when writing email copy that will be rendered as HTML — covers the paragraph/heading/link block model, tone, subject lines, and how to handle data, URLs, and emphasis without markdown.
Core agent-browser usage guide. Read this before running any agent-browser commands. Covers the snapshot-and-ref workflow, navigating pages, interacting with elements (click, fill, type, select), extracting text and data, taking screenshots, managing tabs, handling forms and auth, waiting for content, running multiple browser sessions in parallel, and troubleshooting common failures. Use when the user asks to interact with a website, fill a form, click something, extract data, take a screenshot, log into a site, test a web app, or automate any browser task.