← 返回 Skills 市场
uchibeke

Aport Standup

作者 Uchi Uchibeke · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ⚠ suspicious
258
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install aport-standup
功能描述
Generate a standup update from your APort policy decisions. Shows what you actually shipped — not what you remember shipping. Driven by signed APort decision...
使用说明 (SKILL.md)

/aport-standup — What Did You Actually Ship?

Most standup updates are written from memory. This one is written from decisions. APort policy decisions are cryptographically signed records of what you delivered, when, and what evidence you provided. This skill turns those decisions into a standup update.

When to use this skill

  • At the start of a work session ("what did I do yesterday?")
  • At the end of a work session ("what did I ship today?")
  • When a user asks "what have you been doing?"
  • Before a team sync or status update
  • As input to a weekly retrospective

Prerequisites

You must have an APort passport. If you don't have one:

You need APORT_AGENT_ID in your environment.

Step 1 — Fetch your recent decisions

GET https://aport.io/api/verify/decisions/YOUR_AGENT_ID

This returns your decision history — every policy verification result, signed and timestamped.

Step 2 — Parse the decisions

Each decision includes:

{
  "decision_id": "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
  "allow": true,
  "policy_id": "deliverable.task.complete.v1",
  "created_at": "2026-03-13T09:00:00Z",
  "agent_id": "ap_...",
  "reasons": [
    { "code": "capability_verified", "message": "...", "severity": "info" }
  ],
  "signature": "..."
}

Filter to recent decisions based on the standup window. Sort by created_at descending. Group by policy_id if multiple types present.

Step 3 — Generate the standup

Format the standup based on what the user needs:

Daily standup (default)

STANDUP — [DATE] — [AGENT NAME]

COMPLETED (verified by APort)
  - [task context from decision] — [decision_id] — [time]
  - [task context from decision] — [decision_id] — [time]

DENIED / IN PROGRESS
  - [decision_id] — blocked on [reason code] — [time of last attempt]

STATS
  - Tasks completed: X
  - Tasks attempted: Y
  - Completion rate: Z%

Weekly summary

WEEK OF [DATE RANGE] — [AGENT NAME]

SHIPPED
  [list of allow decisions with context]

BLOCKED
  [list of deny decisions, most recent reason code]

PATTERNS
  [most common deny reason if any — signals systemic issue]

DECISION TRAIL
  [list of decision_ids for audit — one per line]

Team standup (multiple agents)

If the user has multiple agents with APort passports, offer to generate a combined standup by fetching decisions for each agent_id.

Step 4 — Highlight blockers

If any tasks were denied in the time window, surface them prominently:

BLOCKERS REQUIRING ATTENTION
  - [decision_id] — denied — [reason code]
    This task needs: [what the reason code indicates]

Repeated denials on the same policy signal something needs human attention. A task denied more than 3 times should always be surfaced.

Step 5 — Offer the decision trail

At the end of any standup, offer:

Decision IDs for audit:
  dec_001 — allow — deliverable.task.complete.v1 — 2026-03-13T09:00:00Z
  dec_002 — allow — deliverable.task.complete.v1 — 2026-03-13T11:30:00Z

These decision_ids are cryptographically signed. The user or any auditor can verify them independently at:

GET https://aport.io/api/verify/decisions/get/DECISION_ID

Tone

Keep standups factual and brief. No padding. No "I worked hard on". The decisions speak. The standup reports what the decisions say.

Good: "Implemented OAuth2 refresh token flow — PR #47" Bad: "Spent significant time working on the authentication system"

Links

安全使用建议
This skill appears to do what it says (fetch APort decisions and format standups) but the SKILL.md expects APORT_AGENT_ID in the environment while the registry lists no required env vars — ask the publisher to clarify. Before installing: (1) confirm you trust aport.io and the author, (2) understand what value APORT_AGENT_ID actually is (is it public agent identifier only, or does it confer access?), (3) verify whether the skill will need additional auth (bearer tokens or API keys) beyond the agent ID, and (4) ensure your agent/environment policy allows outbound HTTP to aport.io. If you need higher assurance, request the author update the registry metadata to declare APORT_AGENT_ID (and any other creds) explicitly or provide an example of the authentication flow.
功能分析
Type: OpenClaw Skill Name: aport-standup Version: 0.1.0 The skill is a legitimate utility designed to generate standup reports by fetching cryptographically signed task records from the APort API (aport.io). It uses the APORT_AGENT_ID environment variable to retrieve the user's own decision history and provides instructions for formatting this data into daily or weekly summaries. No evidence of malicious intent, data exfiltration, or harmful prompt injection was found in SKILL.md or _meta.json.
能力评估
Purpose & Capability
The name/description match the instructions: the skill fetches cryptographically-signed APort decisions and formats them into standups. Requiring access to APort decision endpoints is coherent with the stated purpose.
Instruction Scope
SKILL.md only instructs the agent to fetch decision records from aport.io, parse them, and format summaries. It does not instruct reading local files, scanning unrelated env vars, or sending data to unexpected external endpoints. The fetch/format workflow is scoped to the stated task.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so it does not write to disk or install third-party packages. That lowers install-time risk.
Credentials
SKILL.md explicitly says you need an APORT_AGENT_ID in your environment and shows GET calls to aport.io endpoints. However the registry metadata lists no required env vars or primary credential. This mismatch (declared none vs. required APORT_AGENT_ID in the instructions) is an inconsistency that should be clarified. The skill does not request other unrelated credentials, which is good.
Persistence & Privilege
No always:true or elevated persistence is requested. The skill is user-invocable and does not modify other skills or system settings; autonomy is allowed by default (disable-model-invocation:false), which is normal.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install aport-standup
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /aport-standup 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
- Initial release of aport-standup skill for generating standup updates from cryptographically signed APort policy decisions. - Automatically fetches, filters, and summarizes verifiable shipped work with minimal user input. - Formats output for daily, weekly, and team standup scenarios, surfacing blockers and completion stats. - Designed for factual reporting—removes subjective or memory-based standup content. - Provides audit-ready decision trails and direct verification links for transparency and accountability.
元数据
Slug aport-standup
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Aport Standup 是什么?

Generate a standup update from your APort policy decisions. Shows what you actually shipped — not what you remember shipping. Driven by signed APort decision... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 258 次。

如何安装 Aport Standup?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install aport-standup」即可一键安装,无需额外配置。

Aport Standup 是免费的吗?

是的,Aport Standup 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Aport Standup 支持哪些平台?

Aport Standup 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Aport Standup?

由 Uchi Uchibeke(@uchibeke)开发并维护,当前版本 v0.1.0。

💬 留言讨论