AgentSkillsCN

orrery-report

Orrery 工作流的最终汇报阶段。输出结构化的 JSON 数据,汇总执行结果、测试成效与运行状态。适用于 Orrery-Verify 完成之后,或在需要上报阻塞状态时使用。

SKILL.md
--- frontmatter
name: orrery-report
description: >
  Final reporting phase for the orrery workflow. Outputs structured JSON
  summarizing execution results, test outcomes, and status. Use after
  orrery-verify completes or when reporting blocked status.
user-invocable: false

Report Skill

When to Use

Use this skill after verification to finalize your work on a step and communicate the result to the Orchestrator.

Triggers:

  • Execution and Verification phases are complete.
  • You have been handed off from the Verify skill.
  • Or, you need to report a Blocked status.

Output Contract (CRITICAL)

The Orchestrator expects a single JSON object printed to stdout. This is how you "report" your status.

Success JSON:

json
{
  "stepId": "<id>",
  "status": "complete",
  "summary": "Brief description of work done and verification results",
  "artifacts": ["file1.js", "src/components/NewComp.tsx"],
  "testResults": "Passed 8/8 tests",
  "commitMessage": "feat: add user authentication with session handling"
}

Blocked JSON:

json
{
  "stepId": "<id>",
  "status": "blocked",
  "blockedReason": "Detailed reason why the step cannot be completed",
  "summary": "Work attempted but failed due to..."
}

Rules:

  1. NO Markdown: Do not wrap the JSON in triple-backtick code blocks (e.g., ```json ... ```).
  2. Clean Output: Ensure the JSON is valid and on its own line.
  3. One Object Per Step: If you are working on multiple steps, you may output multiple JSON objects (one per line).

How to Do It

Step 1: Gather Information

Collect from your execution and verification:

  • Status: Did it pass verification? (complete vs blocked)
  • Artifacts: List of files created or modified.
  • Summary: A concise sentence describing the implementation.
  • Test Results: Summary of test outcomes (e.g., "Pass: 5, Fail: 0").

Step 2: Construct the JSON

Map your gathered info to the JSON fields.

  • stepId: The ID from the plan you are working on.
  • status: "complete" (if verified) or "blocked".
  • summary: Human-readable explanation.
  • artifacts: Array of file paths.
  • commitMessage: A conventional commit message (e.g., "feat: add login", "fix: resolve null check").

Step 3: Output to Stdout

Print the JSON string. This is your final action.


Example

Scenario: You implemented a "Login" feature (Step 3).

1. Handoff: You came from verify where 2/2 tests passed. 2. Constructing Report:

  • ID: "3"
  • Status: "complete"
  • Summary: "Implemented login logic."
  • Artifacts: ["src/auth/login.ts"]
  • Test Results: "2/2 passed"

3. Action:

json
{
  "stepId": "3",
  "status": "complete",
  "summary": "Implemented login logic and verified with unit tests",
  "artifacts": ["src/auth/login.ts"],
  "testResults": "2/2 passed",
  "commitMessage": "feat: add login endpoint with session handling"
}

Common Pitfalls

  • Outputting Text: "I have finished the step." (The Orchestrator cannot read this).
  • Markdown Blocks: Wrapping JSON in ```json ... ``` breaks the parser.
  • Invalid JSON: Ensure the JSON is properly formatted and all strings are quoted.