agentleFS
CassiiopeiaCassiiopeia/projectops/skills/pro-ui-design/SKILL.md

pro-ui-design

Skill6 starsChanged 32 days agoMITView on GitHub

Show UI mockups on a local URL so a person can compare, press and pick: layouts, animations, linked multi-screen prototypes in the repo's real design. Then build it, post it to an issue, or request a designer. Use for 'show me mockups', 'request a design'.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 2 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Every command is PYTHONIOENCODING=utf-8 python3 ~/.projectops/bin/projectops_cli.py ui-design <command> (add --root <project> if the shell …

    line 27
  2. Very specific:

    If that entry point is missing, or returns scripts_not_found or bad_args listing skills without ui-design (an older copy.

    line 44
  3. Very specific:

    Write a new HTML file into screens_dir with your file tool.

    line 54
  4. Distinctive:

    Ask the question on the page.

    line 56
  5. Very specific:

    Run check. Fix what it finds or say why it stays.

    line 58
  6. Very specific:

    When it is settled, run decide.

    line 70
  7. Distinctive:

    No design files found: say the mockup uses a neutral theme.

    line 85

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

UI design: see it, pick it, or ask a designer

When to use

  • "Show me a few mockups", "compare these layouts", "try some animations", "let me press through this flow" (Korean: '시안 몇 개 보여줘', '애니메이션 시안 보여줘', '이 흐름 눌러 보게 해줘')
  • "Post the mockup to the issue" (Korean: '시안 캡처해서 이슈에 올려줘')
  • "Request a design", "send this to the designer", "ask them to draw the empty and error screens too" (Korean: '디자인 요청해줘', '디자이너한테 보낼 거 만들어줘')
  • A brainstorm reaches a question that is easier to see than to read.
SituationSkill
No Figma design yet: decide what it looks like, or ask for onethis one
A Figma design exists: move it into code and comparepro-figma
Find bugs by running the real thingpro-agent-test

Talk to the user in the user's language (or the configured language preference). Apply the absolute rules in ../references/common-rules.md.

You make the mockups and every judgment. The scripts only run the server, gather facts and capture. Their output is never the design.

Goal → command → details

Every command is PYTHONIOENCODING=utf-8 python3 ~/.projectops/bin/projectops_cli.py ui-design <command> (add --root <project> if the shell left the project). All output is JSON with next; follow it.

GoalCommandDetails
Start or resume a session; get the URL, folders and project notesstart --title "<screen>" [--issue N] [--open]Step 1
Find where after a lost contextstatus
Several screens or agents in one repoAdd --title "<screen>" to status, check, choices, capture, decide, stopWithout it they use the last session started in this project
Find this project's design files · save themtokens · tokens --savereferences/fidelity.md · references/project-profile.md
Check a mockup before showing itcheck [--screen F]references/fidelity.md
Motion, press and drag, screens that affect each otherUIDesign in the mockupreferences/motion.md
Read browser clickschoicesStep 3
PNG (page or per option) · GIF of stepscapture ...references/sharing.md
Record the decision · read it laterdecide --choice b --reason "..." · decisionStep 4
Settingsconfig show|set|options../references/config-rules.md §7
Stop the server (mockups stay)stop · stop --all for every session here
Design request for a designerboard and friendsreferences/design-request.md (read only then)

If that entry point is missing, or returns scripts_not_found or bad_args listing skills without ui-design (an older copy; a direct call updates it), find the scripts as in ../references/common-rules.md §"Script lookup" with SKILL=pro-ui-design, and call ui_design_cli.py directly.

The flow

1. Start

start returns url, screens_dir, project_profile and the configured defaults. The same title resumes the same mockups, even on a later day. Read the notes if they exist. If they do not, or changed_files is not empty, follow next. Ask only what changes the mockup; a request with enough detail needs no questions.

2. Make the mockup

  • Write a new HTML file into screens_dir with your file tool. A fragment gets the shared frame; <!DOCTYPE html> stays as written. Never overwrite an earlier file: layout.html, then layout-v2.html.
  • Make it look like this product. Real tokens, real fonts, the repo's components. Pick the fidelity per question (references/fidelity.md).
  • Ask the question on the page. Show 2 to 4 options that truly differ. Use real content, not lorem ipsum.
  • Things that move or respond must really move and respond. Comparing motion or testing a flow: references/motion.md. Build as much of the interaction as the decision needs.
  • Run check. Fix what it finds or say why it stays.

3. Show it and wait

Give the full url (it has the key), say in one line what is on the page, and end your turn. New files appear in the open tab by themselves; earlier ones stay in its list.

If the user cannot open localhost (they say so, or they are on a remote session such as Remote Control): do not hand over only a URL. capture it, open the image with Read so it shows in the conversation, and offer to post it to the issue.

Next turn: the terminal reply decides. choices adds what was clicked; a click alone never starts work. Reply changed something: write a new file and show it again.

4. Decide, then branch

When it is settled, run decide. Later skills read it, so nobody asks again. Add one line under ## Decisions in the project notes if they exist.

NextDo
Build itImplement from the mockup and tokens.css. Stop here if the user only wanted to see options
Post to an issuereferences/sharing.md. Get approval first (../references/approval-and-questions.md)
Cannot decide, or "ask the designer"references/design-request.md. Mockups you showed become its alternatives

Then stop when nothing is left to show. Another session in this repo may belong to another agent: use --all only if you know it is yours. The server also stops itself when idle.

What to tell the user

  • Say what each image is: HTML mockup, real code render, or real capture.
  • HTML is a reproduction, not a pixel match. Native motion in a browser is an approximation; the final feel needs a real device.
  • A linked prototype is fake behavior. It settles flow and screens, and proves nothing about the real server, push or login.
  • No design files found: say the mockup uses a neutral theme.

Failure → next action

codeAction
server_start_failedRead log_tail, fix it, run start again
port_changed: trueGive the new URL; an open tab will not follow
no_session · server_stoppedstart with the same title: same mockups, and the same URL when the port is free
screen_not_found · option_not_foundUse a name from screens, or a data-choice value from the mockup
browser_missing · pillow_missingAsk, then launch_cli.py web setup. Otherwise describe the mockup and give the URL
step_failed · bad_stepsFix that step in the steps file (references/sharing.md)
bad_option_value · unknown_optionconfig options lists names and values

Customize

Your own language, tone and rules apply: see ../references/preferences.md. Read them once at the start with SKILL_ID=pro-ui-design. Keys for this skill: the common language, tone, rules only. Behavior is under config; project knowledge is in references/project-profile.md. Preferences change presentation only; approval gates and secret protection stay in force.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.