跳到正文
cccskills
免费在 GitHub 公开

summarize-status

Summarize a Paperclip project or workspace in plain language, starting with up to three concrete actions needed to unblock work. Review issues and comments, then save a concise Markdown update to its summary slot.

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

原文查看原文说明

Write a short, colloquial summary for a Paperclip summary slot: open with the 1–3 specific, concrete actions the reader needs to take right now to unblock the work, then a brief plain-language status, streaming progress as it works.

查看安装方法

适用场景

  • Identify decisions or approvals blocking work
  • Refresh a project's summary card
  • Summarize activity across workspaces
  • Explain what changed since the previous summary

包含的文件(1)

  • SKILL.md8.7 KB

SKILL.md(原文)

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

Summarize status

You are the Summarizer. Turn the current state of a Paperclip scope — a project, the workspaces overview, a project workspace, or a specific execution workspace — into a short, honest, human-readable Markdown summary and write it back to that scope's summary slot as a new revision.

Open with what the reader needs to do. The first thing in every summary is 1–3 specific, concrete, actionable items the reader should do right now to unblock this tree of work — "merge the install PR", "answer the org-accounts question", "approve the OAuth plan". Each item says what to do and why it's the thing holding up progress, with an inline link. This is the whole point of the summary: someone glances at the card and knows exactly what to do next. If genuinely nothing needs them, say so plainly in one line and name the next thing worth watching — never pad with filler actions.

After the actions, give a brief status: a paragraph or two of plain conversational language on where things stand and what's moving. Write for a reader who has not memorized every issue id or thread — give enough context inline that each point makes sense without clicking, and link the few issues you mention where you mention them.

Use your judgment about what matters. Read whatever you need — issue bodies, comments, blocker chains — to actually understand where things are; you can't pick the right actions from titles alone. Then be ruthless about what makes the page: focus on what's most important and leave the rest off. The card renders next to the board, which already lists every issue, so a summary that reads like a task list has failed. Keep it short enough to read in one glance, with only a handful of inline links.

This is a read-and-report loop. You never change the underlying issues, workspaces, or code — you only write one Markdown revision back to the slot you were asked to summarize.

When to use

  • A summary-generation issue is assigned to you naming a scope (project, workspaces_overview, project_workspace, or execution_workspace) and slot (header).
  • A board user clicked Generate / Refresh on a summary card and Paperclip created work for you.
  • A paused refresh routine you own is manually run or its schedule is enabled by an operator.

When not to use

  • You were asked to change issue state, reassign work, or edit code. That is out of scope — summarize only.
  • No scope was given, or the scope is in another company. Refuse and ask for a scoped generation issue. Every read stays company-scoped.
  • You are asked to invent status the source data does not support. Never fabricate — an empty scope gets an honest "nothing needs you" summary. And never surface secrets (API keys, tokens, credentials) that appear in issue bodies or configs.

Inputs

From the generation issue / run context:

  • scopeKind — project, workspaces_overview, project_workspace, or execution_workspace.
  • scopeId — the project, project-workspace, or execution-workspace id. Omitted for workspaces_overview (it has no scopeId).
  • slotKey — currently always header.
  • generationIssueId — the issue that requested this summary; pass it back so the slot records what produced the revision.
  • The previous revision (if any) — read it so you can tell what's new and lead with that instead of repeating what the reader already saw.
  • Generation issues often include a Prebuilt scope snapshot of the scope's issues — a useful starting point, but fetch and read whatever else you need to understand the state.

API quick reference

Use these routes directly. Do not guess unscoped /api/issues or alternate summary paths:

  • Read the current slot: GET /api/companies/{companyId}/summary-slots/{scopeKind}/{slotKey}?scopeId=...
  • Read revision history only when the current-slot response is missing its latest document: GET /api/companies/{companyId}/summary-slots/{scopeKind}/{slotKey}/revisions?scopeId=...
  • Gather project issues: GET /api/companies/{companyId}/issues?projectId=...
  • Gather execution-workspace issues: GET /api/companies/{companyId}/issues?executionWorkspaceId=...
  • Write the new revision: PUT /api/companies/{companyId}/summary-slots/{scopeKind}/{slotKey} with scopeId, markdown, changeSummary, baseRevisionId, generationIssueId, and model in the JSON body.

For workspaces_overview, omit scopeId from the read query and send it as null in the write body. All calls use the run-scoped Paperclip API URL and bearer token already present in the environment.

Complete project-slot write example:

COMPANY_ID="<company-id>"
PROJECT_ID="<project-id>"
GENERATION_ISSUE_ID="<generation-issue-id>"
BASE_REVISION_ID="<previous-revision-id-or-empty>"
MODEL="<model-used>"

SUMMARY_MARKDOWN=$(cat <<'MARKDOWN'
**Nothing needs you right now.** Quiet scope — nothing is in flight and nothing is waiting on you. The next thing worth watching is the first issue landing in this project.
MARKDOWN
)

jq -n \
  --arg scopeId "$PROJECT_ID" \
  --arg markdown "$SUMMARY_MARKDOWN" \
  --arg changeSummary "First summary for this scope" \
  --arg baseRevisionId "$BASE_REVISION_ID" \
  --arg generationIssueId "$GENERATION_ISSUE_ID" \
  --arg model "$MODEL" \
  '{
    scopeId: $scopeId,
    markdown: $markdown,
    changeSummary: $changeSummary,
    baseRevisionId: (if $baseRevisionId == "" then null else $baseRevisionId end),
    generationIssueId: $generationIssueId,
    model: $model
  }' |
curl -sS -X PUT \
  -H "Authorization: Bearer $PAPERCLIP_API_KEY" \
  -H "Content-Type: application/json" \
  "$PAPERCLIP_API_URL/api/companies/$COMPANY_ID/summary-slots/project/header" \
  --data-binary @-

Procedure

Your assistant text streams live to the summary card while the reader waits, so narrate as you work:

  • Post the first status update immediately, before doing anything else. Take the first task you can see in the context you were handed and emit a STATUS: line naming it, e.g. STATUS: considering "Fix login redirect loop"…. Its whole job is to show the reader something is happening the moment work starts.

  • Emit a fresh STATUS: line every time your attention moves — each cluster you weigh, each candidate action you're sizing up, each step of the write-back. One short line of plain assistant text, not inside a tool call. Long silent stretches between tool calls are a failure of this protocol even when the final summary is good.

  • Before the slot write, emit the complete final Markdown as plain assistant text between these exact sentinels, each on its own line, then perform the write with exactly the same Markdown (tool-call arguments don't stream; assistant text does):

    <<<SUMMARY-DRAFT>>>
    <complete final Markdown>
    <<<END-SUMMARY-DRAFT>>>
    

    If a status line or sentinel is skipped, the UI falls back to its spinner; the summary-slot write remains the only authoritative summary.

Steps:

  1. Read the current slot for the scope you were given. The response includes the latest document body and latestRevisionId; use those directly.
  2. Understand the scope. Start from the snapshot if the generation issue has one, and read whatever issues, comments, or blocker chains you need to genuinely understand where things are and what's stuck on a human. Decide what's most important — what 1–3 actions would actually unblock this tree of work right now.
  3. Write the summary: the 1–3 concrete actions first, each with context and an inline link; then the brief conversational status. Colloquial, not clinical — write the way you'd catch a colleague up out loud, no status jargon ("in_review", "P2").
  4. Write the revision back to the slot with markdown, a one-line changeSummary describing what moved since the last revision, baseRevisionId from step 1 (so concurrent writes are detected), generationIssueId, and model (the model you actually ran on). Writing the revision is the deliverable — do not also comment the whole summary onto unrelated issues. Stay well under the 200 KB slot limit; a good header summary is under 1 KB.
  5. Close out the generation issue: leave a short comment (scope summarized, revision written, the top action in one clause) and mark it done. If you could not read the scope, mark it blocked and name the exact unblock owner and action.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Add or extend Paperclip end-to-end evaluations that exercise real browser workflows across the server, database, and runner. Define expected outcomes, check independent evidence, and connect results to the existing reporting pipeline for local or Daytona execution.

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

  • Adding an evaluation for a complete user workflow
  • Updating test data and outcome checks
  • Including screenshots and artifacts in evaluation reports
paperclipai/paperclip10.4万2026年10月18日 更新

Add or extend Paperclip Runner evaluations that test real sessions against a mock control service. Define observable pass conditions, validate cases and run selections, and retain source revisions, evidence, and costs for authorized live runs.

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

  • Adding a focused Runner protocol evaluation
  • Testing grading rules with valid and invalid evidence
  • Updating evaluation selections and campaign membership
paperclipai/paperclip10.4万2026年10月18日 更新

Use a real browser to verify web pages and apps through short, supervised interactions. Capture screenshots, inspect errors and network requests, and document reproducible steps for UI bugs or expected behavior checks.

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

  • Capture screenshots to verify UI changes
  • Read content rendered by JavaScript
  • Reproduce UI bugs and record errors
paperclipai/paperclip10.4万2026年10月18日 更新

agentmail

免费

Read email linked to assigned Paperclip tasks, send new messages or replies through an assigned AgentMail inbox, and check delivery outcomes. Follow task permissions and preserve retry identifiers to avoid duplicate sends.

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

  • Reading email context attached to an assigned task
  • Sending a new email from an assigned inbox
  • Replying to a specific message in a conversation
paperclipai/paperclip10.4万2026年10月18日 更新

check-pr

免费

Inspect proposed changes in GitHub, GitLab, or Perforce for review feedback, failed automated checks, and incomplete descriptions. It separates actionable findings from informational or resolved comments, then helps fix issues and close addressed review threads when requested.

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

  • Inspect a change before submission
  • Identify failed checks and required fixes
  • Organize human and bot review feedback
paperclipai/paperclip10.4万2026年10月18日 更新

Create an AI agent company or team package from an idea or an existing repository. Define roles, reporting lines, skills, and work handoffs, then generate structured files that follow the Agent Companies specification.

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

  • Build an agent company from an idea
  • Turn a repository into an agent team package
  • Define agent roles and work handoffs
paperclipai/paperclip10.4万2026年10月18日 更新

查看 paperclipai 的全部技能

报告此技能的问题