| name | consolidated-reporting-spec |
| description | Family office: Produce a specification for consolidated family-office reporting across entities, accounts, and asset classes. |
Family Office · Consolidated Reporting Specification
For Claude: How to Use This Skill
Skill instructions are preloaded in context when this skill is active. Do not
perform filesystem searches or tool-driven exploration to rediscover them; use
the guidance below directly.
When to Use
Invoke when the advisor asks about:
- consolidated reporting
- reporting spec
- family-office reporting
- portfolio reporting requirements
Customer Pain (VOC)
Synthesized from family-office operator interviews (see references/voc-evidence.md for full provenance):
- Operators openly ask why consolidated reporting matters at all — buy-in is not a given — [_4_z6Rs7350 @ 00:14]
- Insourcing performance reporting only pencils out around the billion-dollar mark; below that, families need a packaged spec — [HV86G3RCPV0 @ 22:39]
- Customized dashboards are the visibility-and-transparency surface families actually pay for — [_URp9ryeUlQ @ 52:01]
- Dashboards must be built to walk the principal through their day, not just display data — [f4vwiAXPj3s @ 21:52]
Artifact Specification
This skill produces a single named deliverable:
- Artifact:
Consolidated Reporting Specification
- Format at this iteration: markdown (
artifact.md) plus a structured
interview.json capturing every advisor input. PDF / DOCX / XLSX companion
renders and DMS / Snowflake push land in the execution-pipeline PR tracked
under issue #427.
The artifact is written to a skill-local path, not a global directory:
<invocation-cwd>/artifacts/family-office/consolidated-reporting-spec/<YYYYMMDD-HHMMSS>/
artifact.md
interview.json
manifest.json
Interview Inputs
Minimum-viable interview — the skill asks only what is needed to personalize
the deliverable. Pre-fill rules against family memory land in the execution-
pipeline PR.
reporting_platform — Reporting platform (Addepar / Masttro / Eton / spreadsheet)?
entities_to_consolidate — Entities to consolidate?
asset_classes_in_scope — Asset classes in scope?
reporting_cadence — Reporting cadence?
key_metrics — Key metrics to surface?
recipient_list — Recipient list and their views?
Workflow
- Run
python scripts/agent.py --config config.json (or invoke via Claude
Code with a config blob).
- The agent validates config, runs the interview (TTY or fixture-driven),
and produces the artifact under the canonical local path.
- The agent writes
manifest.json with artifact metadata (name, version,
content hash, pillar, skill_name, created_at).
- The agent optionally writes memory entries to the knowledge skill's
memory_objects table via psycopg if config.memory_dsn is provided.
Without a DSN, memory writes are skipped cleanly.
Memory Conventions
Memories written by this skill are tagged with:
subject = the artifact name
source = "consolidated-reporting-spec"
memory_type ∈ {decision, assumption, commitment, open_question}
Security & Confidentiality
- Never log interview answers or artifact contents at INFO level.
- Never include SSN, EIN, account numbers, or full financial amounts in
log lines. If a WHERE-clause field carries such data, log only a sha256
hash.
- The artifact directory is local-only at this iteration. DMS push (with
confidentiality-label routing) is handled by the execution-pipeline PR.
Reference