跳到正文
cccskills
免费在 GitHub 公开

skilld-tui-design

Designs and verifies skilld CLI output, terminal pickers, and full-screen flows. Use for terminal colours, loading feedback, keyboard controls, layout, errors, or end-to-end CLI UX reviews.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(2)

  • SKILL.md6.1 KB
  • references/source-review.md2.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Design skilld CLI interactions

Build the user's whole command journey, including failure, cancellation, and the return to their shell. Read source decisions for the two reviewed Skills and their exact revisions.

Establish the contract

Read the project's GLOSSARY.md, COPY.md, and VISION.md when present. Keep canonical nouns and strings. Use short sentences with one idea each. Inspect the command parser, output renderer, and terminal lifecycle before changing behavior. Classify each affected surface as static output, a picker, a prompt, or a full-screen view. Include command help, parser errors, startup notices, and progress indicators in the inventory. List its starting state, successful outcome, expected failures, and cancellation behavior. Keep the existing JSON envelope, streams, and exit codes unless the task changes that contract.

Use the existing shared renderer and semantic palette. Avoid adding a second framework or per-screen theme. Start with crates/skilld-ui, crates/skilld-command/src/output.rs, and crates/skilld-native/src. Inspect command help and routing in crates/skilld-command/src/lib.rs.

Put the decision first

Static output starts with the requested result or the failed action. Group repeated records consistently. Place supporting metadata below each record. Use spacing and headings before adding boxes. Keep commands copyable. Preserve whitespace inside quoted arguments. Wrap prose and paths by terminal cells. Preserve the original value in machine output. Give empty results a useful next action based on available commands.

Pickers show the question, query, matching count, selected item, and valid keys. Full-screen views keep scope and current state visible. For large inventories, start with recommendations and counts. Open projects or folders before listing individual Skills. Use words for findings. Label identical copies as duplicates and show their paths; separate symlinks from directory copies. State when a filter changes only the view. An action review must still list every affected target. Spend rows on the user's decision. Do not reserve space for decorative panels. If a pane cannot show complete content, provide reachable scrolling or a detail view. At smaller sizes, simplify the layout before hiding required information. If the screen is unusable, block hidden actions and show the required size.

Use colour with independent cues

Inherit the terminal's foreground and background for body text. Share roles for brand, action, secondary information, success, warning, error, focus, and selection. Use one action accent across screens. Reserve status colours for actual status. Show ownership as a label, without implying safety or success. Pair colour with words, markers, bold text, or inverse selection. Make pane focus visible when colour is disabled. Honor NO_COLOR, TERM=dumb, and existing output capability detection. Never claim contrast across unknown terminal themes from one screenshot.

Make state and input agree

Use explicit states for loading, browsing, editing, review, applying, completion, and failure. Prefer tagged states carrying their required data over overlapping pending flags. Keep filesystem and network work outside the input loop. If operations can overlap, identify their results so stale work cannot replace the current view. Derive available actions and footer hints from the same state rules. Keep query editing separate from global shortcuts. Typing q in a query must remain possible. Make Escape predictable: cancel editing or review before leaving the whole screen. Preserve selection by stable identity when refreshing data. Bound scrolling and expose position when the remaining content is otherwise unclear. Provide discoverable help when the current footer cannot explain all controls.

Explain waiting and outcomes

Show the operation, scope, elapsed time, and available cancellation action. When the total is unknown, show activity and observed counts without a percentage. When the total is known, show completed and total work. Keep previous results readable during refresh when they remain relevant. Label them as previous results if refresh fails. Keep errors visible until the user changes state or dismisses them. Do not replace an error with a filter label or a generic loading message. Describe partial completion explicitly. Preserve recovery and backup paths.

Before a destructive change, show the exact action, item, paths, and content replacement. Require deliberate confirmation of that specific plan. Discard stale activation keys before entering consent states. Preserve cancellation requests. If writes cannot stop safely, defer exit and say so. Never display a cancellation key that does nothing. Restore the terminal on success, failure, and cancellation. After leaving the alternate screen, print a durable summary of completed changes and recovery paths. Provenance describes source evidence. It never proves that instructions are safe.

Verify the whole journey

Run focused behavior tests for changed transitions and regressions. Use the real renderer for layout tests. Do not test source text or private implementation shape. Inspect actual terminal captures, including colour and monochrome. Cover normal and narrow sizes, short screens, Unicode names, long paths, and resize during confirmation. Exercise loading, empty results, errors, filtering, review, cancellation, completion, and return to the shell. Use disposable fixtures for migration, removal, and restoration. Check plain and JSON output separately for escape sequences, stream changes, and exit codes. Run the repository's required checks after integration.

Report what changed and what was exercised. Identify any live path that remains untested. Do not treat passing snapshots as proof of keyboard behavior or terminal restoration.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Generate or update an Agent Skill that teaches consumers one npm or local package the user maintains, including framework modules and wrappers. Tests each example against the installed version. Use when a maintainer asks for a package Skill, a SKILL.md for their library, or a Skill update after a release.

中文简介正在准备中。当前显示原文说明。

skilld-dev/skilld3272026年10月11日 更新

Generate or update an Agent Skill from the observed workflows, boundaries, and conventions of one software project.

中文简介正在准备中。当前显示原文说明。

skilld-dev/skilld3272026年10月11日 更新

Review an Agent Skill for valid structure, clear triggers, usable instructions, current evidence, and risky or unclear actions.

中文简介正在准备中。当前显示原文说明。

skilld-dev/skilld3272026年10月11日 更新

skilld

免费

Operate skilld CLI for Skill discovery, use, installation, inspection, updates, authentication, configuration, restoration, and removal, including Repository, curator, and collection refs. Also read the skilld.dev registry (view, browse, trending, tracks, curators, index) and act for the user's skilld.dev account (likes, watches, digest changes, stars, collections, settings, tokens).

中文简介正在准备中。当前显示原文说明。

skilld-dev/skilld3272026年10月11日 更新

Updates an existing package Skill for a new release of its npm or local package by testing only what changed since the version the Skill names. Use when a maintainer asks to refresh a package Skill after a release, or when a SKILL.md names an older tested version than the package.

中文简介正在准备中。当前显示原文说明。

skilld-dev/skilld3272026年10月11日 更新

查看 skilld-dev 的全部技能

报告此技能的问题