agentleFS
bighamxbighamx/openclaw-android-node-apk/.agents/skills/claw-score/SKILL.md

claw-score

Skill59 starsChanged 16 days agoMITView on GitHub

Audit or refresh OpenClaw maturity scorecard docs from root taxonomy, maturity scores, and QA evidence artifacts without using maintainer discrawl data or committed inventory reports.

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 12 are distinctive, and 10 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 10

    Very specific

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

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

    Use this skill when working on the OpenClaw maturity scorecard in this repo.

    line 8
  2. Very specific:

    Keep person-specific, maintainer-private, Discord archive, and discrawl facts out of this repo.

    line 22
  3. Distinctive:

    Keep categories and feature names unique, product-shaped, and broader than raw coverage IDs.

    line 37
  4. Distinctive:

    Avoid duplicate coverage-ID bundles under different feature names in one category.

    line 39
  5. Distinctive:

    Run from the openclaw repo root.

    line 54
  6. Distinctive:

    Check docs when touching docs prose:

    line 72
  7. Distinctive:

    Run focused QA/profile checks when changing coverage IDs or profile membership:

    line 78
  8. Very specific:

    Do not resolve main locally and pass that commit as both ref and expected_sha for an ordinary manual generation run.

    line 99
  9. Distinctive:

    When asked to score or refresh a surface:

    line 116
  10. Very specific:

    Read the surface in taxonomy.yaml.

    line 118
  11. Very specific:

    Read the surface completeness rubric under .agents/skills/claw-score/references/completeness/.

    line 119
  12. Very specific:

    Prefer existing release profile qa-evidence.json artifacts for executed proof.

    line 123
  13. Very specific:

    Update qa/maturity-scores.yaml only for Quality, Completeness, and LTS review state backed by public or redacted artifact evidence.

    line 125
  14. Distinctive:

    Run the schema validation command from this skill.

    line 127
  15. Very specific:

    Run pnpm check:docs if docs prose changed, and focused QA coverage checks if coverage IDs or profile membership changed.

    line 128
  16. Very specific:

    Treat Surface-Specific Scoring Questions and Surface-Specific Guidance as higher-priority instructions for that surface.

    line 148
  17. Distinctive:

    Do the known gaps leave major user-visible capability branches missing?

    line 165
  18. Distinctive:

    Do not lower Completeness because tests are thin.

    line 173
  19. Distinctive:

    Do not lower Completeness because implementation quality is fragile.

    line 174
  20. Distinctive:

    Leave unavailable history absent: it is unknown, not an invitation to invent reviewers, rationale, or evidence.

    line 202
  21. Distinctive:

    Do not attach decisions to Coverage, computed rollups, surface LTS summaries, or the copied level in score aggregates.

    line 207
  22. Very specific:

    Do not add the maintainer repo's docs/kevinslin/maturity-scorecard/inventory/ tree to openclaw.

    line 234

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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

claw-score

Use this skill when working on the OpenClaw maturity scorecard in this repo. This is the openclaw-local version of the maintainer claw-score workflow: it keeps the taxonomy and scorecard concepts, but excludes discrawl and the old committed inventory/ report tree.

Authority

This skill owns the operational workflow for:

  • taxonomy.yaml
  • qa/maturity-scores.yaml
  • docs/concepts/qa-e2e-automation.md
  • qa/scenarios/index.yaml

Keep person-specific, maintainer-private, Discord archive, and discrawl facts out of this repo. If a score needs private evidence, use the redacted qa-evidence.json artifact shape generated by OpenClaw QA workflows.

Source Model

  • taxonomy.yaml is the hand-edited source of truth for surfaces, levels, QA profiles, categories, feature coverage IDs, docs refs, LTS overrides, and completeness-instruction paths.
  • Each feature has exactly one coverageIds entry. Keep that evidence ID unique to the feature; broader many-to-many evidence mapping is not part of the current taxonomy schema.
  • Coverage IDs use dotted namespace.behavior form, with lowercase alphanumeric/dash segments. Profile, surface, and category IDs may remain dashed or dotted.
  • Keep categories and feature names unique, product-shaped, and broader than raw coverage IDs. Do not promote generic IDs into standalone feature names.
  • Avoid duplicate coverage-ID bundles under different feature names in one category.
  • qa/maturity-scores.yaml is the committed aggregate source for Quality, Completeness, and LTS review state.
  • extensions/qa-lab/src/scorecard-taxonomy.ts exports readValidatedQaMaturityScoreSources; use it to validate score output.
  • Generated public docs are docs/maturity/scorecard.md and docs/maturity/taxonomy.md; both come from pnpm maturity:render. Do not hand-edit generated Markdown to change score results.
  • qa-evidence.json artifacts provide per-run QA scorecard evidence. Release profile artifacts are the source of truth for Coverage. They can enrich generated artifact docs, but they are not committed as inventory.

Commands

Run from the openclaw repo root.

Validate taxonomy YAML structure and the maturity score schema after source edits:

node --import tsx --input-type=module <<'NODE'
import fs from "node:fs";
import YAML from "yaml";
import { readValidatedQaMaturityScoreSources } from "./extensions/qa-lab/src/scorecard-taxonomy.ts";

for (const file of ["taxonomy.yaml", "qa/scenarios/index.yaml"]) {
  YAML.parse(fs.readFileSync(file, "utf8"));
}
readValidatedQaMaturityScoreSources();
NODE

Check docs when touching docs prose:

pnpm check:docs

Run focused QA/profile checks when changing coverage IDs or profile membership:

pnpm openclaw qa coverage --json

Full Generation Runs

For a direct full scorecard run that publishes the generated-doc pull request, use floating main resolution by default:

gh workflow run maturity-scorecard.yml \
  --repo openclaw/openclaw \
  --ref main \
  -f ref=main \
  -f expected_sha='' \
  -f publish_pull_request=true \
  -f allow_failures=true

Do not resolve main locally and pass that commit as both ref and expected_sha for an ordinary manual generation run. OpenClaw's main moves quickly, so the caller-selected commit can become stale before validation. The workflow then correctly rejects publication when the pull request base contains newer maturity inputs, and QA never starts.

With ref=main and a blank expected_sha, the workflow's floating_default_branch path fetches and freezes the current remote default branch inside validation before handing an immutable revision to downstream jobs. Use an explicit SHA only when the requested evidence must remain bound to that exact revision, such as a release-candidate workflow call or an artifact-only historical reproduction. If that exact-revision run also requests publication and main has changed relevant inputs, expect validation to fail and dispatch again from floating main instead.

Scoring Workflow

When asked to score or refresh a surface:

  1. Read the surface in taxonomy.yaml.
  2. Read the surface completeness rubric under .agents/skills/claw-score/references/completeness/.
  3. Gather public repo evidence from docs, source, tests, and QA scenario metadata.
  4. Prefer existing release profile qa-evidence.json artifacts for executed proof.
  5. Update qa/maturity-scores.yaml only for Quality, Completeness, and LTS review state backed by public or redacted artifact evidence.
  6. Run the schema validation command from this skill.
  7. Run pnpm check:docs if docs prose changed, and focused QA coverage checks if coverage IDs or profile membership changed.

For subjective score changes, make the smallest defensible edit and leave the evidence path in the PR or task summary. Keep manual prose in current docs and keep score data in qa/maturity-scores.yaml.

Default Completeness Process

Completeness is scored against the intended operator-visible workflow for each category, not against test breadth or implementation quality. The completeness reference files under references/completeness/ define the category scope and any surface-specific variation from this default process.

By default, Completeness measures how fully OpenClaw exposes the intended surface capability set to the user, operator, author, or maintainer persona for that surface. Score whether each category delivers the full expected workflow, including setup, normal use, status or inspection, recovery, and important platform, provider, channel, security, or lifecycle variants where they apply.

Treat Surface-Specific Scoring Questions and Surface-Specific Guidance as higher-priority instructions for that surface. The surface instructions may flesh out, narrow, or intentionally conflict with the default ideas here; when they do, follow the surface instructions and make the score rationale reflect that surface-specific instruction. If a reference file does not include surface-specific questions or guidance, apply this default process to the surface's Category Scope.

For each category, ask:

  • Can the intended user or operator complete the category workflow end to end?
  • Are the taxonomy features present as supported capabilities rather than isolated implementation fragments?
  • Are the important lifecycle stages represented: setup, normal operation, status/inspection, recovery, and upgrade or removal where relevant?
  • Are the important environment, provider, platform, channel, or security branches present for this surface?
  • Do the known gaps leave major user-visible capability branches missing?

Default guidance:

  • Favor higher Completeness when the category supports the full operator-visible workflow described by taxonomy and category evidence.
  • Lower Completeness when only the happy path exists, when important variants are undocumented or unimplemented, or when recovery/status paths are missing.
  • Do not lower Completeness because tests are thin; that is Coverage.
  • Do not lower Completeness because implementation quality is fragile; that is Quality.

Default Completeness bands:

  • Clawesome (95-100): complete across expected workflows, variants, and recovery branches, with only minor polish gaps.
  • Stable (80-95): the expected workflow set is broadly present, with only bounded missing branches.
  • Beta (70-80): the main workflow exists, but meaningful branches or recovery paths are still absent.
  • Alpha (50-70): only a partial capability set is present; users can complete some core tasks but not the full expected workflow.
  • Experimental (0-50): the category exposes only fragments of the intended capability.

Decision Context

Record an optional decision beside score and label for surface and category Quality/Completeness, or beside supported for category LTS. In taxonomy.yaml, use optional level_decision beside the canonical surface level.

Each record contains value, rationale, reviewer, evidence_refs, and revalidate_when. Use an integer from 0–100 for Quality/Completeness, a boolean for LTS, and a declared taxonomy level ID for level_decision. Supply nonempty text fields and at least one evidence reference. Name the actual reviewer and the condition that should trigger another review.

Leave unavailable history absent: it is unknown, not an invitation to invent reviewers, rationale, or evidence. A record does not overwrite the current score, support flag, or canonical level. If its value differs, retain both; generated docs show a non-gating mismatch, including under strict input validation.

Do not attach decisions to Coverage, computed rollups, surface LTS summaries, or the copied level in score aggregates. Decision context does not change coverage identity, score calculations, support commitments, or release gates.

Score Semantics

  • Coverage: deterministic release validation coverage derived from the release profile qa-evidence.json.scorecard feature fulfillment data.
  • Quality: reliability, maintainability, operator safety, and regression confidence for the category.
  • Completeness: how much of the intended operator-visible workflow exists for the category. Use the default completeness process plus any surface-specific variation before changing this score.
  • LTS: derived from Quality, release-evidence Coverage, and human_lts_override; do not hand-edit generated Markdown to change LTS status.

Bands:

  • Clawesome: 95-100
  • Stable: 80-95
  • Beta: 70-80
  • Alpha: 50-70
  • Experimental: 0-50

Artifacts

Do not add the maintainer repo's docs/kevinslin/maturity-scorecard/inventory/ tree to openclaw. Evidence-enriched scorecard outputs belong in short-lived artifacts, not committed generated docs, unless this repo adds an explicit renderer/check workflow first.

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.