| name | orrery-report |
| description | Final reporting phase for a single step of an orrery plan, invoked by the orrery orchestrator after orrery-verify completes (or when reporting blocked status). Outputs structured JSON consumed by the orrery orchestrator. Do NOT use for general status summaries or reports outside of an orrery plan run.
|
| 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:
{
"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:
{
"stepId": "<id>",
"status": "blocked",
"blockedReason": "Detailed reason why the step cannot be completed",
"summary": "Work attempted but failed due to..."
}
Rules:
- NO Markdown: Do not wrap the JSON in triple-backtick code blocks (e.g.,
```json ... ```).
- Clean Output: Ensure the JSON is valid and on its own line.
- 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:
{
"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.