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
1725 skills15 agents26 commands

Claude Code

$ npx -y skills add restarter/lets-workflow --skill actor-fetch-personality --agent claude-code

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
@restarter
Ships withlets-workflow

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

1725 skills15 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
17
Star history of restarter/lets-workflow on GitHub, a chart by star-history.com

Other skills on lets-workflow.

goal-test

goal-test

Local sandbox for experimenting with Claude Code's /goal command (stop-hook condition + LLM-evaluator driving autonomous work…

loop-bb-pr

loop-bb-pr

Compose a /loop that monitors a Bitbucket PR for activity (new comments, review state changes, merge, decline) via the bb-api…

loop-gh-pr

loop-gh-pr

Compose a /loop that watches all open GitHub PRs for activity (new PRs, new commits, new comments) and auto-prepares a READ-ONLY…

loop-test

loop-test

Local sandbox for experimenting with Claude Code's /loop command (interval + dynamic/self-paced scheduling) applied to LETS…

agent-report

agent-report

Internal skill for commands. The file transport for agent reports - hand every Task-dispatched agent a REPORT_FILE, then collect…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react4d252k
@facebook@facebookInstall Skill

Questions about actor-fetch-personality.

Which coding agents can use actor-fetch-personality?
actor-fetch-personality installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.