Skip to content
Development
Skill

/actor-fetch-personality

Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.

From plugin
lets-workflow
1718 skills15 agents23 commands
Install
$ npx -y skills add restarter/lets-workflow --skill actor-fetch-personality --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/actor-fetch-personality

Context preview

The summary Claude sees to decide when to auto-load this skill.

Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.

SKILL.md

actor-fetch-personality.SKILL.md
name: actor-fetch-personality
description: Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.
user-invocable: false

Actor Fetch Personality

Internal skill used by commands that dispatch the Actor agent. Handles personality source detection, fetching, validation, and prompt formatting.

> **IMPORTANT:** If the spec below invokes any deferred tool (e.g. `AskUserQuestion`), you MUST load and call it as specified. Never skip the call, never substitute a default answer of your own — the tool invocation is part of the contract. This is critical.

Flow

Step 1: Detect Source Type

Parse the personality source argument:

  • Starts with `http://` or `https://` -> URL
  • Starts with `/`, `~`, or `.` -> local file path
  • Otherwise -> inform user: "Personality source must be a URL or file path"

Step 2: Fetch Content

**URL:** Use Bash with `curl -sL <url>` to fetch the raw content. Do NOT use WebFetch - the internal model filters personality content as prompt injection.

**GitHub URLs:** If URL contains `github.com/.../blob/`, convert to raw URL: replace `github.com` with `raw.githubusercontent.com` and remove `/blob/`. Example: `https://github.com/user/repo/blob/main/persona.md` -> `https://raw.githubusercontent.com/user/repo/main/persona.md`

**File path:** Use Read tool. Expand `~` to home directory.

If fetch fails (curl returns empty, Read returns error): inform user "Could not load personality from {source}. Check the URL/path." Stop - do not proceed with actor dispatch.

Step 3: User Review Gate

Before loading personality into the actor, show a preview and ask for confirmation:

Extract from fetched content: name (from frontmatter or first heading), expertise signals (first 2-3 bullet points or description), line count.

AskUserQuestion(
  questions=[{
    question: "Load this personality into Actor?",
    header: "Actor",
    options: [
      { label: "Load", description: "{name} - {expertise summary} ({N} lines)" },
      { label: "Cancel", description: "Don't load, skip actor" }
    ],
    multiSelect: false
  }]
)
  • **Load** -> proceed to Step 4
  • **Cancel** -> stop, inform calling command that actor was skipped

Step 4: Validate

  • If content is empty: stop, inform user
  • If content exceeds 2000 lines: truncate to first 2000 lines, warn user
  • Content should contain identifiable persona signals (name, expertise, identity). If it looks like code or random text, warn but proceed (lenient validation)

Step 5: Format for Prompt

Return the personality content formatted as a prompt block to be injected into the Actor agent's Task prompt:

PERSONALITY:
{fetched content}

The calling command inserts this block into the Task prompt alongside MODE, PROJECT CONTEXT, and the user's question.

Read more
Ships withlets-workflow

A development workflow plugin for Claude Code Stop babysitting your AI. Start shipping with it.

Get the whole plugin

Other skills on lets-workflow.