跳到正文
cccskills
免费在 GitHub 公开

feature-handoff

Prepare a structured JSON handoff for feature work, bringing together requirements, design decisions, key user journeys, tests, demo recordings, and pull request status. Clearly distinguish completed work from missing validation, publication steps, and other remaining tasks.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Emit the complete feature handoff with exact modes, outcomes, CUJs, demos, and publication state.

查看安装方法

适用场景

  • Preparing a final handoff for feature development
  • Linking key user journeys to tests and demo recordings
  • Reporting unpublished work and remaining validation
  • Documenting ticket splits or requests for clarification

包含的文件(1)

  • SKILL.md6.9 KB

SKILL.md(原文)

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

The feature handoff

The last thing in your final message must be exactly one fenced ```json block, with nothing after its closing fence. The caller reads the last valid block, so an interim handoff right after opening the PR (with pr_url and a provisional outcome) is fine; the final block supersedes it. Emit JSON, never YAML, and include every key below, even when empty ("", []).

  • mode is exactly "authored_feature" or "review_remediation".
  • outcome is exactly one of "implemented", "partially_implemented", "not_implemented", "nothing_to_build", "needs_split", or "needs_more_info".
{
  "feature_url": "https://linear.app/omnigent/issue/OMNI-1234",
  "mode": "authored_feature",
  "outcome": "implemented",
  "feature_summary": "People can now rename a session from the session list instead of opening it first.",
  "ticket_comment": "",
  "proposed_children": [],
  "requirements": [
    "A session can be renamed from the session list",
    "The new name appears everywhere the session is listed"
  ],
  "design": {
    "chosen": "Add a rename action to the list row that calls the existing session update API.",
    "alternatives": [
      {"option": "A separate rename dialog page", "rejected_because": "Adds navigation for a one-field edit."}
    ],
    "risks": ["Concurrent renames: the last write wins, matching the existing update API."]
  },
  "cujs": [
    {
      "id": "CUJ-1",
      "journey": "user opens the session list → chooses Rename on a row → types a name → the row shows the new name",
      "surface": "web",
      "covered": true,
      "tests": ["tests/e2e_ui/sessions/test_rename_from_list.py::test_rename_from_list"],
      "recordings": ["recordings/omni-1234/demo-cuj-1.mp4"],
      "recording_blocker": "",
      "manual_test": "",
      "not_covered_reason": ""
    },
    {
      "id": "CUJ-2",
      "journey": "user renames a session from the mobile app",
      "surface": "mobile",
      "covered": false,
      "tests": [],
      "recordings": [],
      "recording_blocker": "",
      "manual_test": "",
      "not_covered_reason": "The mobile list has no row actions yet; noted as a follow-up."
    }
  ],
  "recordings": [
    {"cuj": "CUJ-1", "surface": "web", "path": "recordings/omni-1234/demo-cuj-1.mp4",
     "format": "mp4", "capture_mode": "playwright_ui",
     "caption": "open the session list → choose Rename → type a name → the row shows the new name"}
  ],
  "files_changed": ["web/src/sessions/SessionRow.tsx"],
  "tests": {"e2e": "tests/e2e_ui/sessions/test_rename_from_list.py", "added": []},
  "test_audit": "CUJ-1 is covered by a new browser test because the rename crosses the browser boundary; it fails with the rename action removed.",
  "impact_assessment": {
    "base_sha": "<full target-branch tip SHA>",
    "head_sha": "<full candidate HEAD SHA>",
    "worktree_state": "clean",
    "risks": [
      {
        "files": ["web/src/sessions/SessionRow.tsx"],
        "behavior": "Row actions can change selection or navigation",
        "consumers": ["session list", "session sidebar"],
        "invariant": "Clicking a row still opens the session",
        "check": "<exact command>",
        "result": "passed",
        "evidence": "<retained output reference, tested build and environment>"
      }
    ],
    "uncovered_boundaries": [],
    "not_applicable_reason": ""
  },
  "remaining_work": [],
  "pr_url": "https://github.com/omnigent-ai/omnigent/pull/4200",
  "reviewed_pr_url": "",
  "pushed_branch": "feat/omni-1234",
  "ci_status": "green (all required checks pass)",
  "polly_review": "clean on <full candidate HEAD SHA>",
  "ocr_review": "clean on <full candidate HEAD SHA>: no findings",
  "review_cycle": {
    "head_sha": "<full candidate HEAD SHA>",
    "fingerprint": "<fingerprint from the final review snapshot>",
    "dispositions": [
      {"key": "comment:<id>", "status": "addressed", "reason": "Fixed in <commit>; <test> passes."}
    ]
  },
  "ui_preview": "labeled ui-preview; preview at https://…",
  "maintainer_review": "requested review from @<maintainer>",
  "review_fingerprint": "",
  "handled_review_ids": [],
  "last_pushed_sha": "",
  "session_id": "<this session id>"
}

Field meanings

  • outcome:
    • implemented: every success condition in AGENTS.md holds, including the live Polly/OCR gate.
    • partially_implemented: the feature is built and committed but something is missing, such as a blocked recording, an unresolved finding, failing CI, or, in local-only and workflow-owned runs, the publication and PR review you did not run. Name each gap in remaining_work.
    • not_implemented: you tried and could not build it; explain why.
    • nothing_to_build: already delivered; name the PR or commit.
    • needs_split: stopped before building because the ticket is too big; ticket_comment and proposed_children are required.
    • needs_more_info: stopped before building because the request is unclear, inputs or access are missing, or a design choice needs a human; ticket_comment gives the options and your recommendation.
  • feature_summary: plain English for a product user: what they can now do. No file names or CI details.
  • ticket_comment / proposed_children: the comment the workflow posts on the ticket, and for needs_split each child's title, description, cujs, and depends_on (titles of earlier children). Empty otherwise.
  • requirements, design, cujs: as written in feature-requirements and feature-design. Every covered CUJ lists at least one test and at least one recording path, or a recording_blocker plus manual_test. Every not-covered CUJ has a not_covered_reason.
  • recordings: one entry per declared clip, with the inspected captioned MP4 (or the guide's uncaptioned fallback) as path.
  • tests: committed checks as bare repository-relative paths or node IDs. e2e is the retained E2E path or ""; added lists the other selected checks. Put reasoning and gaps in test_audit.
  • impact_assessment: as otto-impact-assessment describes.
  • pr_url, pushed_branch, ci_status, polly_review, ocr_review, review_cycle, ui_preview, maintainer_review: the publication state. review_cycle must pass review_cycle.py check for implemented. A local-only (skip_push) run leaves pr_url empty, sets pushed_branch to the committed local branch for a human to push, and lists publishing and the PR loop in remaining_work.
  • reviewed_pr_url, review_fingerprint, handled_review_ids, last_pushed_sha: set in review_remediation mode (with reviewed_pr_url and pr_url both the review_pr URL); otherwise "" or []. In this mode, feature_url carries the PR's attached ticket, which the shared remediation skill calls bug_url.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Test Omnigent’s native Antigravity integration with a live local server and the real agy CLI. Verify messages traveling between the web interface and terminal, mirrored replies, permission requests, interruption, session resumption, and process cleanup.

中文简介正在准备中。当前显示英语简介。

  • Testing message delivery from the web interface to agy
  • Checking terminal output against mirrored session replies
  • Verifying permission requests and interruption
omnigent-ai/omnigent1.1万2026年10月18日 更新

Test Omnigent’s Antigravity SDK integration against a live local server. Build test agents and run real conversations to check Gemini authentication, model selection, tool connections, and failures across the full execution path.

中文简介正在准备中。当前显示英语简介。

  • Test authentication and real Gemini responses
  • Verify tool connections and sub-agent delegation
  • Investigate model selection failures
omnigent-ai/omnigent1.1万2026年10月18日 更新

api-docs

免费

Create reference documentation directly from source code for public functions, classes, command-line commands, and endpoints. Organize parameters, defaults, return values, errors, and runnable examples, then check that the documentation matches the implementation.

中文简介正在准备中。当前显示英语简介。

  • Writing reference docs for a public module
  • Documenting command-line arguments and defaults
  • Adding minimal usage examples for an API
omnigent-ai/omnigent1.1万2026年10月18日 更新

Create an Omnigent agent directory using validated templates for configuration and instructions. Choose how the agent runs, then add web search, shell access, external tool connections, or subagents only when the task requires them.

中文简介正在准备中。当前显示英语简介。

  • Creating a minimal Omnigent agent
  • Configuring an agent with web search
  • Adding shell access or MCP tool connections
omnigent-ai/omnigent1.1万2026年10月18日 更新

changelog

免费

Turn a selected range of commits or merged pull requests into release notes grouped by change type. Describe user-visible effects, link to supporting changes, and highlight breaking changes so readers can assess an upgrade.

中文简介正在准备中。当前显示英语简介。

  • Write release notes covering changes since the last tag
  • Summarize pull requests merged during a selected period
  • Highlight breaking changes before an upgrade
omnigent-ai/omnigent1.1万2026年10月18日 更新

Test Omnigent’s setup, help, and terminal interactions by driving the real CLI in an isolated environment. Capture rendered screens and compare checks before and after a change to establish whether a reported interface problem was fixed.

中文简介正在准备中。当前显示英语简介。

  • Reproducing a first-run setup problem
  • Inspecting menus in a narrow terminal
  • Checking help text and command visibility
omnigent-ai/omnigent1.1万2026年10月18日 更新

查看 omnigent-ai 的全部技能

报告此技能的问题