# Huacheng AI CLI Online Report

> Huacheng Ai Cli Online Report

- Skill: `tomevault-io/huacheng-ai-cli-online-report` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/huacheng-ai-cli-online-report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/huacheng-ai-cli-online-report/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/huacheng-ai-cli-online-report

---


# /moonview:report — Generate Completion Report

Generate a structured completion report for a task module, documenting what was planned, executed, and verified.

## Usage

```
/moonview:report <task_module_path> [--format full|summary]
```

## Prerequisites

- Task module should have status `complete` (post-exec assessment passed)
- Can also be run on `blocked` or `cancelled` tasks for documentation purposes
- **Minimum content**: If status is `draft` and `.plan.md` does not exist, report outputs a brief notice ("No meaningful content to report — task is still in draft with no plan") instead of generating an empty report structure

## Report Structure

### Full Format

```markdown
# Task Report: <title>

## Summary
- **Status**: complete | blocked | cancelled
- **Created**: <timestamp>
- **Completed**: <timestamp>
- **Duration**: <calculated>

## Objective
<!-- From .target.md -->

## Plan
<!-- Summary of implementation approach from .plan.md -->

## Changes Made
<!-- List of files modified/created/deleted with brief descriptions -->

## Verification
<!-- From .test/ criteria and results files, build status, evaluation outcomes -->

## Issues Encountered
<!-- From .bugfix/ if exists, or "None" -->

## Dependencies
<!-- Status of depends_on modules -->

## Lessons Learned
<!-- Any notable patterns, workarounds, or discoveries -->
```

### Summary Format

Compact single-section report with: status, objective (1 line), key changes (bullet list), verification result.

## Output

The report is written to `AiTasks/<module_name>/.report.md` and also printed to screen.

## Execution Steps

1. **Read** `.index.json` for task metadata (including `completed_steps`)
2. **Read** `.target.md` for objectives
3. **Read** `.plan.md` for implementation approach
4. **Read** `.summary.md` if exists (condensed context overview)
5. **Read** `.test/` for verification criteria and test results (all files, sorted by name, if exists)
6. **Read** `.analysis/` for evaluation history (all files, sorted by name, if exists)
7. **Read** `.bugfix/` for issue history (all files, sorted by name, if exists)
8. **Read** `.notes/` for research findings and experience log (all files, sorted by name, if exists)
9. **Collect** git changes related to the task (if identifiable)
10. **Compose** report in requested format
11. **Write** to `.report.md`
12. **Distill experience**: If task status is `complete` and `type` is non-empty, validate each pipe-separated segment matches `[a-zA-Z0-9_:-]+`. **Directory-safe transform**: replace `:` with `-` in segment when used as directory name (e.g., `science:astro` → `science-astro`); original type value in `.index.json` is unchanged. Extract key learnings for **each** segment (e.g., type `data-pipeline|ml` → write to both `data-pipeline/` and `ml/`). Acquire `AiTasks/.experiences/.lock` before writing (see Concurrency Protection in `commands/ai-cli-task.md`). For each segment: (a) create `AiTasks/.experiences/<segment>/` directory if not exists; (b) write `AiTasks/.experiences/<segment>/<module>.md` containing: what worked, what didn't, key decisions, tools/patterns discovered; (c) overwrite `AiTasks/.experiences/<segment>/.summary.md` — condensed summary of all entries in that type directory (distilled key patterns + entry index table with module, date, key learnings). Then overwrite top-level `AiTasks/.experiences/.summary.md` — index of all type directories (type, task count, keywords, last updated). Release lock after write
13. **Sync shared type profile**: If `.type-profile.md` exists, merge refined profile back to `AiTasks/.type-profiles/<primary-type>.md` for ALL types (seed and discovered alike — shared profiles accumulate cross-task intelligence that static tables cannot). Apply directory-safe transform: replace `:` with `-` in type when used as filename (e.g., `science:astro` → `science-astro`). Acquire `AiTasks/.type-profiles/.lock` before writing. If shared profile already exists, update sections that have higher-confidence info (check refinement log dates). Append task's refinement log entries. Release lock after write
14. **Git commit**: `-- ai-cli-task(<module>):report generate completion report`
15. **Write** `.auto-signal`: `{ "step": "report", "result": "(generated)", "next": "(stop)", "checkpoint": "", "timestamp": "..." }`
16. **Print** report to screen

**Note**: Report is a terminal step — it reads ALL history files (not just latest) to produce a comprehensive record. `.summary.md` is used as an overview, not a replacement for full history in report context.

## State Transitions

No status change — report generation is informational. The task must already be `complete`, `blocked`, or `cancelled`.

## Git

- `-- ai-cli-task(<module>):report generate completion report`

## .auto-signal

`{ "step": "report", "result": "(generated)", "next": "(stop)", "checkpoint": "", "timestamp": "..." }`

Report is always a terminal step — `next` is always `(stop)`.

## Notes

- Reports are overwritten on regeneration (only latest report kept)
- For `blocked` tasks, the report documents what was completed and what blocks remain
- For `cancelled` tasks, the report documents the reason for cancellation
- The report serves as a permanent record even after task files are archived
- For `complete` tasks, report includes change history via `git log --oneline --all --fixed-strings --grep="ai-cli-task(<module>)"` (uses `--fixed-strings` to avoid regex interpretation of parentheses; works even after task branch deletion)
- **Concurrency**: Report acquires `AiTasks/<module>/.lock` before proceeding and releases on completion (see Concurrency Protection in `commands/ai-cli-task.md`)

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/huacheng) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

