agentCLAWHUBUnverified

Piano Score Fingering Arrangement

Verify score facts, then generate and review two-hand fingering Skill: Piano Score Fingering Arrangement Owner: yannxinn Summary: Verify score facts, then generate and review two-hand fingering Tags: latest:0.1.0 Version history: v0.1.0 | 2026-08-16T08:22:14.885Z | auto Piano Score Fingering v0.1.0 - Initial release with support for piano score recognition from images, PDFs, MusicXML, MXL, or MuseScore files. - Preserves exact page coordinates of every notehead and delivers coord

OpenClaw

Rank

62

Safety

84

Downloads

1.5k

Updated

Oct 10, 2026

Version

0.1.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.5K downloadsadoption · observed Oct 10, 2026
Latest release
0.1.0release · observed Aug 16, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s175vkyg557rprrs31zwem4qt187twvc:piano-score-fingering
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-yannxinn-piano-score-fingering/snapshot"

Documentation

CLAWHUB

56,736 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: piano-score-fingering
description: Read piano scores from images, PDFs, MusicXML, MXL, or MuseScore files; preserve the page coordinates of every notehead; generate playable two-hand fingering with the bundled dynamic hand-position search; and deliver an annotated PDF or fingered MusicXML. Use for piano-score recognition, automatic fingering, coordinate-accurate score annotation, fingering review, and practice guidance without requiring PianoPlayer, MuseScore, ReportLab, or online OMR services.
---

# Piano Score Fingering

Complete the workflow when the host can read files, inspect score pages, run Python, and write output files. Use only the bundled scripts and capabilities already present in the host. Do not require the user to install software, Python packages, browser extensions, or online recognition services.

## Accuracy gates and delivery levels

Never generate fingering from unverified score facts merely to produce an output. Always create inspectable artifacts. Deliver one of these outcomes:

1. **Complete**: process the full requested range and deliver PDF/MusicXML plus a report.
2. **Review required**: all performance semantics are verified, but non-semantic layout or musical-preference warnings remain; deliver the fingering result and report.
3. **Partial**: only when the full range cannot be recognized reliably. Complete at least one whole measure or full system and label every output as a partial experiment.

Block fingering whenever pitch, clef, accidental, rhythm, hand, chord membership, tie, voice, or notehead identity is unresolved. On failure, still deliver the recognition plan, anchor audit, and error report. Historical outputs may reveal prior error types, but must never become recognition truth or a fingering target for a new task.

Load references only when needed: use [references/professional-fingering-rules.md](references/professional-fingering-rules.md) for musical review, [references/fingering-plan-schema.md](references/fingering-plan-schema.md) when creating or repairing a visual recognition plan, and [references/common-fingering-errors.md](references/common-fingering-errors.md) when a validator or user identifies a matching error. Keep [NOTICE.txt](NOTICE.txt) with every redistributed copy.

## Choose the input path

### PDF or image

1. Make one complete recognition draft. Declare `measure_scope`, then create one `measure_region` for every page + measure + hand, including rest-only measures.
2. Classify symbols before reading pitch and rhythm. Put noteheads in `notes` and rests in `rests`; never treat stems, beams, barlines, dots, text, or rectangular rest marks as notes.
3. Record the true center of every visible notehead with `origin=direct_visual_notehead`. Locate every member of a touching chord separately and set `chord_member_verified=true`. Never infer a missing member from spacing or a repeated accompaniment pattern.
4. Use `pdf_point` coordinates with a bottom-left origin for PDFs and `pixel_top_

_meta.json

{
  "ownerId": "kn775p024j3fvm7wzg9ge615a187t6nv",
  "slug": "piano-score-fingering",
  "version": "0.1.0",
  "publishedAt": 1786868534885
}

references/common-fingering-errors.md

# Common Fingering Errors

Use this as a counterexample checklist after the first fingering pass and again before rendering. For evidence, priorities, exceptions, and implementation limits, see [professional-fingering-rules.md](professional-fingering-rules.md).

## 0. Correct-looking fingering on the wrong pitch

- **Error:** notehead geometry shows a second, but the plan records a third and assigns the left-hand dyad `3-1`.
- **Fix:** run `validate_recognition.py` and derive pitch from staff geometry and clef. Block every pitch/geometry contradiction before fingering.
- Never bypass recognition gates with confidence scores, coverage, or a successfully generated PDF.

## 1. Missing a tightly spaced chord member

- **Error:** two adjacent noteheads around one stem become one event, so a three-note chord receives only `1-5`.
- **Fix:** inspect seconds at high zoom, bind every visible notehead, and assign the complete chord, such as `1-2-5`.
- Finger-label count must equal visible notehead count.

## 2. Meaningless changes in an isomorphic transposed pattern

- **Error:** structurally identical dyads use `1-5, 1-5, 1-4`.
- **Fix:** keep `1-5, 1-5, 1-5` and move the hand as a unit. Change only for a documented continuation, articulation, key-shape, or span reason.

## 3. Reassigning an unchanged moving dyad

- **Error:** a comfortable dyad that can shift laterally uses `1-3, 1-4, 1-5`.
- **Fix:** preserve one shape, for example `1-5, 1-5, 1-5`, and review the whole sequence rather than isolated chords.

## 4. Skipping an available adjacent finger in scalar motion

- **Error:** a descending step uses `5-3` even though finger 4 is free and natural.
- **Fix:** prefer `5-4`. Skip only to prepare what follows or avoid an ergonomic problem, and record the reason.

## 5. Reusing one finger on successive different pitches

- **Error:** a connected melody repeatedly uses the same finger without a planned crossing or shift.
- **Fix:** use adjacent fingers, a prepared crossing, or an explicit lateral shift. Staccato, repeated notes, or intentionally detached leaps may be exceptions.

## 6. Finger distance does not match the dyad interval

- **Error:** every dyad receives `1-5` or left-hand `5-1`, unnecessarily stretching a third.
- **Fix:** begin with adjacent fingers for seconds, `1-3` (left hand low-to-high `3-1`) for thirds, `1-4` for fourths, and `1-5` for fifths or wider. Context may justify `2-4` or `3-5`, but the hand must stay relaxed and the reason must be recorded.

## 7. A single note competes with the next chord for the same finger

- **Error:** left-hand bass 3 leads directly to a third with `3-1`, producing `3 -> 3-1`.
- **Fix:** inspect the full transition. A bass below the chord normally uses 5, producing `5 -> 3-1`. Check single-to-chord and chord-to-single transitions finger by finger.

## 8. Copying a bad template through a repeated pattern

- **Error:** `5-4-1` is copied across every wide descending three-note group without validating the fi

references/fingering-plan-schema.md

# Unified Fingering Plan Schema

All scripts read and write one JSON fingering plan. MusicXML supplies score semantics; `notes` also store physical key positions for search and page coordinates for overlay.

## Top-level structure

```json
{
  "schema_version": "1.0",
  "source": {"type": "pdf", "path": "source.pdf", "coordinate_unit": "pdf_point"},
  "settings": {"hand_size": "M", "lookahead": 0},
  "pages": [{"page": 1, "width": 595.28, "height": 841.89}],
  "recognition": {
    "status": "locked",
    "scope": "pages 1-2",
    "expected_note_count": 128,
    "unresolved_note_count": 0,
    "review_confidence_threshold": 0.8,
    "confidence_policy": {
      "require_independent_passes": 2,
      "require_measure_region_coverage": true,
      "require_measure_symbol_checks": true,
      "require_rest_inventory": true,
      "require_direct_notehead_anchors": true,
      "require_dense_event_checks": true,
      "dense_notehead_threshold": 8,
      "require_notehead_shape_evidence": true,
      "require_sparse_rest_checks": true,
      "sparse_event_threshold": 1,
      "require_same_position_evidence": true,
      "require_tie_evidence": true
    },
    "event_count_checks": [
      {"page": 1, "measure": 12, "hand": "RH", "expected_noteheads": 9,
       "source": "independent_visual_count", "verified": true}
    ],
    "measure_scope": [
      {"page": 1, "measure_start": 1, "measure_end": 23, "hands": ["RH", "LH"]}
    ],
    "measure_regions": [
      {"region_id": "p1-m12-rh", "page": 1, "measure": 12, "hand": "RH",
       "bbox": [80, 210, 270, 310], "evidence_crop": "crops/p1-m12-rh.png"}
    ],
    "measure_symbol_checks": [
      {"region_id": "p1-m12-rh", "page": 1, "measure": 12, "hand": "RH",
       "expected_noteheads": 9, "expected_rests": 0, "duration_verified": true,
       "source": "independent_visual_review", "evidence_crop": "crops/p1-m12-rh.png",
       "verified": true}
    ],
    "delivery_level": "complete",
    "review_queue": [],
    "fact_lock": {
      "algorithm": "sha256-score-facts-v2",
      "digest": "generated by manage_recognition.py freeze",
      "note_count": 128
    },
    "verification": {
      "scope_complete": true,
      "staff_geometry": true,
      "pitch_geometry": true,
      "accidentals": true,
      "rhythm": true,
      "ties": true,
      "chords": true,
      "anchors": true
    },
    "systems": [
      {"system_id": "p1-system1-rh", "page": 1, "staff": 1, "clef": "treble",
       "staff_line_y": [246, 256, 266, 276, 286]}
    ]
  },
  "notes": [],
  "rests": []
}
```

`source.type` is `pdf`, `image`, or `musicxml`. With `lookahead=0`, the generator selects 3–8 events automatically; use `--max-auto-depth 9` for a slow final search or set `lookahead=3–9` explicitly.

`recognition.delivery_level` is `complete`, `review`, or `partial`. Before image/PDF fingering generation, all eight verification gates must be true and `unresolved_note_count` must be zero. Record `systems[].staff_line_y` from v

references/professional-fingering-rules.md

# Professional Piano Fingering Rules

Use this document as the musical rule hierarchy for draft generation, human review, and exception explanations. `common-fingering-errors.md` contains only counterexamples.

## Evidence scope

Only full primary papers, author manuscripts, and upstream source code were used. The rules below are original summaries; no paper text or tables are redistributed.

### Sources

- **[P97]** Parncutt, Sloboda, Clarke, Raekallio, and Desain. *An Ergonomic Model of Keyboard Fingering for Melodic Fragments*. Music Perception 14(4), 1997, 341–382. [Author manuscript](https://static.uni-graz.at/fileadmin/_Persoenliche_Webseite/parncutt_richard/Pdfs/PaSlClRaDe97_FingeringModel.pdf). Supports playable/comfortable spans, stretch and compression, position changes, weak fingers, black/white keys, crossings, rhythm, tempo, articulation, register, repetition, and phrase boundaries. The model focuses mainly on monophonic legato fragments and its provisional average-hand weights are not universal.
- **[AK07]** Al Kasimi, Nichols, and Raphael. *A Simple Algorithm for Automatic Generation of Polyphonic Piano Fingerings*. ISMIR 2007, 355–356. [Full paper](https://archives.ismir.net/ismir2007/paper/000355.pdf). Supports hard constraints for polyphony/chords and joint vertical chord comfort plus horizontal chord-to-chord motion, adjustable by hand size. It does not model substitutions, black/white-key differences, or automatic hand assignment.
- **[N14]** Nakamura, Ono, and Sagayama. *Merged-output HMM for Piano Fingering of Both Hands*. ISMIR 2014. [Author manuscript](https://eita-nakamura.github.io/articles/Nakamura_etal_MergedOutputHMMForPianoFingering_ISMIR2014.pdf). Supports preserving within-hand voice continuity instead of assigning hands from an instantaneous pitch split. It is a statistical architecture, not a teaching rulebook.
- **[N19]** Nakamura, Saito, and Yoshii. *Statistical Learning and Estimation of Piano Fingering*. Information Sciences 517, 2020; [open preprint](https://arxiv.org/pdf/1904.10237). Supports multi-event context, systematic performer variation, simultaneous/sustained-note constraints, and multiple acceptable answers. Statistical fit alone does not equal musical quality.
- **[PP]** Marco Musy. [PianoPlayer](https://github.com/marcomusy/pianoplayer). Engineering basis for hand geometry, motion/duration cost, lookahead, and anchors. It is not a pedagogical authority and has limitations in ornamentation, hand interaction, and crossing cases.

Exclude paywalled books, abstract-only papers, previews, blogs, and secondary summaries from the formal evidence base.

## Priority hierarchy

Resolve conflicts in this order:

1. user-locked fingering, explicit composer instructions, and established musical intent;
2. playability and safety hard constraints;
3. articulation, voice, sustain, and phrase continuity;
4. relaxed hand shape, motion economy, and preparation;
5. consistency of repeated structures;
6. general pref
Github ReposUpdated 16h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/yannxinn/skills/piano-score-fingering",
      "sourceUrl": "https://clawhub.ai/yannxinn/skills/piano-score-fingering",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:30:11.553Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-yannxinn-piano-score-fingering/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-yannxinn-piano-score-fingering/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:30:11.553Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.5K downloads",
      "href": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceUrl": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:30:11.553Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "0.1.0",
      "href": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceUrl": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-16T08:22:14.885Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-yannxinn-piano-score-fingering/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-yannxinn-piano-score-fingering/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 0.1.0",
      "description": "Piano Score Fingering v0.1.0 - Initial release with support for piano score recognition from images, PDFs, MusicXML, MXL, or MuseScore files. - Preserves exact page coordinates of every notehead and delivers coordinate-accurate overlays. - Provides an integrated fingering workflow, including dynamic two-hand fingering search and annotated PDF or fingered MusicXML output. - Ensures verified score facts and blocks incomplete or ambiguous recognition before fingering. - Offers detailed inspection, review, and error auditing; outputs comprehensive reports and manage recognition plan lifecycle. - No additional software, libraries, or online OMR services required.",
      "href": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceUrl": "https://clawhub.ai/yannxinn/piano-score-fingering",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-08-16T08:22:14.885Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Piano Score Fingering Arrangement and adjacent AI workflows.