agentleFS
wxxb789wxxb789/hoa/skills/hoa-introspect/SKILL.md

hoa-introspect

Skill2 starsChanged 51 days agoMITView on GitHub

Produce an evidence-cited, cross-agent self-report with deterministic usage facets and a rigorously bounded blind-spot audit. Use only when explicitly asked for "my usage insights", "audit my work patterns", "where am I wasting effort", "blind spots", or a periodic "self-retro". Do not use for raw records or cross-agent search, a single-session summary, qualifying findings into approved assets (use hoa-introspect-distill), or direct skill creation (use hoa-skill-work). Heavyweight and explicit-invocation-only; never invoke as a side effect of another skill.

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 6 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Input: Prefer a manifest-first Retrieval Bundle in the consumed schema (hoa's prompts/cross-agent-history-retrieval.md can produce one).

    line 24
  2. Very specific:

    Report language: Default to en-US. Honor report_language only from untracked configuration, or an explicit agent instruction.

    line 39
  3. Very specific:

    Every report ends with On the Horizon, even when it contains only a next measurement suggestion.

    line 44
  4. Very specific:

    Set report language and state scope first: Use en-US unless untracked report_language configuration or an explicit agent instruction …

    line 50
  5. Distinctive:

    Generate L1 deterministically: Run:

    line 57
  6. Distinctive:

    Build L2 candidates conservatively: Look for repeated work patterns, stated-goal versus observable-investment gaps, implicit assumptions, …

    line 66
  7. Distinctive:

    Resolve before claiming: Put proposed claims and their citations in a JSON file, then run:

    line 72
  8. Distinctive:

    Write safely: Before writing HTML or Markdown, ask the PII gate to check the exact output path.

    line 83
  9. Distinctive:

    Use wording equivalent to: “This report is limited to the supplied/runtime- accessible records and cannot make claims about other agents or …

    line 117
  10. Distinctive:

    Use this report outline:

    line 124

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

hoa-introspect

Turn a bounded set of agent-history records into a layered self-report:

  • L1 — usage panorama: hard, reproducible counts produced only by scripts/aggregate.py.
  • L2 — blind-spot audit: a small set of re-checkable qualitative findings, or explicitly none when evidence does not support one.

This is a reflective analysis, not a personality assessment. It describes observable work patterns within the supplied coverage only.

Contract

Input. Prefer a manifest-first Retrieval Bundle in the consumed schema (hoa's prompts/cross-agent-history-retrieval.md can produce one). Without one, work in bounded mode: accept only user-provided paths or records directly accessible in this runtime. Say exactly what that restriction excludes. Read the minimal consumed schema before parsing.

Output. Produce all of the following:

  1. facets JSON (aggregated_data and facets_summary) created by scripts/aggregate.py;
  2. shareable HTML and Markdown reports written only after scripts/pii_gate.py permits their target;
  3. a short, redacted at-a-glance chat summary.

Report language. Default to en-US. Honor report_language only from untracked configuration, or an explicit agent instruction. Render all L1/L2 narrative and headings in that language; preserve numbers, identifiers, and citations unchanged.

Every report ends with On the Horizon, even when it contains only a next measurement suggestion. When the records have no usable signal, write _No insights generated_; do not invent a conclusion to fill the report.

Workflow

  1. Set report language and state scope first. Use en-US unless untracked report_language configuration or an explicit agent instruction selects a language. Translate L1/L2 prose and headings only; preserve numbers, identifiers, and citations. Load the coverage manifest, record its time window, and list only sources whose status is available. Never infer absence of a behavior from an inaccessible, unsupported, auth-required, or not-found source. In bounded mode, say that coverage is partial before interpreting it.
  2. Generate L1 deterministically. Run:

    python scripts/aggregate.py --bundle <bundle> --output <facets.json>

    The resulting JSON is the sole authority for L1 numbers. Narrate those values; never recount records in chat or estimate a percentage. See facet definitions.

  3. Build L2 candidates conservatively. Look for repeated work patterns, stated-goal versus observable-investment gaps, implicit assumptions, drift, friction, and repeatable-work candidates. Seek counter-evidence before retaining a candidate. Each retained blind spot needs at least two independent origins, not two copies, branches, summaries, or excerpts of one origin. Apply audit rigor.
  4. Resolve before claiming. Put proposed claims and their citations in a JSON file, then run:

    python scripts/audit.py --bundle <bundle> --claims <claims.json> --output <verified-claims.json>

    This drops claims with missing records, invalid locators, or fewer than two distinct origins. Do not restore a dropped claim in prose. Label each surviving statement as Observation, Inference, or Speculation; speculation may guide a question but is never evidence.

  5. Write safely. Before writing HTML or Markdown, ask the PII gate to check the exact output path. A tracked-or-unknown repository path is refused and redirected to an OS state directory. Never force-add an artifact. Keep raw paths, secrets, session IDs, and private text out of chat echoes.
  6. Close honestly. Summarize coverage, L1 facts, verified L2 findings (or 0 qualifying blind spots), recommendations, candidate rules/configs, and On the Horizon. Route a finding offered for candidate qualification to hoa-introspect-distill; route a direct request to create a defined skill from that finding to hoa-skill-work. Do not treat the audit as creation authorization or imply that distillation approval already occurred.

Guardrails

  • This skill is heavyweight: run only after an explicit request, never as a side effect of retrieval, a session summary, or another skill.
  • Coverage bounds every conclusion. The manifest is evidence of what was inspected, not proof about the operator's entire work history.
  • L1 comes from the aggregator, not language-model counting. Preserve its zeroes and unknowns.
  • The report language changes narrative and headings only; it never translates or reformats numbers, identifiers, or citations. See the bundle, facet, and audit references for their invariant machine-readable fields.
  • 0 blind spots is a successful result. No quota, no padding, no clinical or personality diagnosis.
  • A citation must resolve to a supplied record and its locator. audit.py enforces the mechanical minimum; independently inspect a small citation sample before publishing nuanced claims.
  • A configured extra source, MCP endpoint, and output override may come only from untracked configuration. Do not add personal locators to this package.
  • Inputs are read-only. Do not modify agent stores, bundles, source records, or repository tracking state.

Bounded-mode wording

Use wording equivalent to: “This report is limited to the supplied/runtime- accessible records and cannot make claims about other agents or time periods.” The same two-independent-origin threshold applies; bounded mode lowers scope, not rigor.

Output shape

Use this report outline:

# Work-pattern self-report

## Coverage and caveats
## L1 — Usage panorama
## L2 — Evidence-cited audit
_No insights generated_  <!-- when no verified findings exist -->
## Recommendations and repeatable-work candidates
## On the Horizon

The at-a-glance chat response is short and redacted: coverage status, the most useful L1 fact, verified finding count, artifact availability, and one horizon item. Do not echo artifact paths, session IDs, secret-shaped values, or raw transcript text.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.