Skip to content

Doctor report: mattpocock/skills@6654f6b #57

Open

Description

@Evenstar

Public GitHub skill URL

https://github.com/mattpocock/skills

Analyses requested

  • Follow-through analysis (skillspec doctor)
  • Security analysis (skillspec boundary)

Notes

Submitted from the public SkillSpec Doctor page.

Activity

  1. github-actions commented on Sep 4, 2026

    @github-actions

    Follow-through report — skillspec doctor

    SkillSpec Doctor shape gate

    Target: github.com/mattpocock/skills

    Shape: plugin_workspace

    • Skill files: 37
    • Plugin roots: 1
    • Decision: Run full plugin workspace assessment for 37 skill package(s) across 1 plugin namespace(s). Preserve namespace and path identity.

    Shape-specific handling

    This is a plugin-shaped workspace. The report must keep plugin namespace, folder path, repeated names, and repeated content as separate evidence instead of flattening them.

    Next

    A full Doctor report follows this shape gate in the workflow artifacts and issue comment.


    SkillSpec Doctor report

    Target: github.com/mattpocock/skills

    Shape: plugin_workspace - plugin-shaped workspace with 1 plugin namespace(s); preserve namespaces before import

    Status: workspace

    What This Measures

    Doctor estimates how likely an agent is to miss, reorder, improvise, use the wrong surface, or finish without proof because of the current skill shape.

    Assessment scope: plugin workspace plus full per-package raw skill profiles; plugin namespace and skill path remain part of identity

    Risk interpretation: Plugin workspace risk is the maximum of plugin-shape risk and per-package raw skill risk. Preserve plugin namespace/path identity and inspect package drift rows before import, compile, or install.

    This is a baseline of the current skill shape at doctor time. It is not a grade of domain knowledge, human usefulness, author effort, or legal/medical correctness.

    Higher risk means a higher chance the agent skips, reorders, or improvises load-bearing instructions.

    Current Skill Baseline

    • Verdict: workspace risk: critical
    • Follow-through readiness: very low
    • Agent follow-through risk: critical (100/100, workspace aggregate)
    • Package risk rollup: max critical (100/100) at skills/engineering/codebase-design/SKILL.md; critical=26, high=8, medium=3, low=0

    Shape Contract

    • Kind: plugin_workspace
    • Kind handling: plugin-shaped workspace; preserve plugin parent, namespace, shared files, and skills/ folder shape
    • Analysis status: workspace
    • Skill files: 37
    • Packages: 37
    • Namespaces: 1
    • Plugin roots: 1

    Plugin Root Details

    • mattpocock-skills at `` with 37 skill file(s)

    Next command

    skillspec workspace map github.com/mattpocock/skills --out <build-dir>/skillspec.workspace.yml
    

    Surface

    • Activation body: 2291 line(s), 0 byte(s), approximately 37590 token(s)
    • Deferred resources: 37 file(s), 0 byte(s)
    • Frontmatter: 0 line(s), 0 byte(s)
    • Activation-loaded surface: 0%
    • Unmapped package files: 0
    • Instruction signals: 0 modal obligation(s), 0 late obligation(s), 0 numbered step(s), 0 dependency mention(s)
    • Code in active skill: 0 block(s), 0 unlabeled

    Shape Details

    Plugin Roots

    • mattpocock-skills at `` with 37 skill file(s)

    Negative Signals

    • plugin markers require namespace-preserving workspace processing

    Workspace Identity

    • Source files: 143 total
    • Namespaced packages: 37 package(s) across 1 namespace(s)
    • Skill content: 37 SKILL.md file(s), 37 unique byte content item(s), 0 repeated occurrence(s) in 0 referentiable group(s)
    • Estimated source tokens: approximately 39552 total if copied byte-for-byte, 39552 unique if referenced, 0 repeated
    • Frontmatter names: 0 repeated name group(s), 0 repeated occurrence(s)

    Recommendation: Keep namespace/path as package identity and make repeated byte-identical SKILL.md content referentiable through source_content_ref aliases instead of copying the same bytes as independent source material.

    Packages

    mattpocock-skills:skills/engineering/ask-matt

    • Path: skills/engineering/ask-matt/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/code-review

    • Path: skills/engineering/code-review/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/codebase-design

    • Path: skills/engineering/codebase-design/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/diagnosing-bugs

    • Path: skills/engineering/diagnosing-bugs/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/domain-modeling

    • Path: skills/engineering/domain-modeling/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/grill-with-docs

    • Path: skills/engineering/grill-with-docs/SKILL.md
    • Role: plugin_skill
    • Drift risk: medium
    • Discovery risk: low

    mattpocock-skills:skills/engineering/implement

    • Path: skills/engineering/implement/SKILL.md
    • Role: plugin_skill
    • Drift risk: high
    • Discovery risk: low

    mattpocock-skills:skills/engineering/improve-codebase-architecture

    • Path: skills/engineering/improve-codebase-architecture/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    mattpocock-skills:skills/engineering/prototype

    • Path: skills/engineering/prototype/SKILL.md
    • Role: plugin_skill
    • Drift risk: high
    • Discovery risk: low

    mattpocock-skills:skills/engineering/research

    • Path: skills/engineering/research/SKILL.md
    • Role: plugin_skill
    • Drift risk: medium
    • Discovery risk: low

    mattpocock-skills:skills/engineering/resolving-merge-conflicts

    • Path: skills/engineering/resolving-merge-conflicts/SKILL.md
    • Role: plugin_skill
    • Drift risk: high
    • Discovery risk: low

    mattpocock-skills:skills/engineering/setup-matt-pocock-skills

    • Path: skills/engineering/setup-matt-pocock-skills/SKILL.md
    • Role: plugin_skill
    • Drift risk: critical
    • Discovery risk: low

    25 more package(s) omitted. Use --json for the full list.

    Findings

    1. MEDIUM: Plugin-shaped workspace requires namespace preservation

    Location: github.com/mattpocock/skills

    Evidence: Detected 1 plugin root(s) and 37 SKILL.md package(s).

    Basis: contract_trace_static_well_formedness

    Fix: Run skillspec workspace map; do not flatten skill names across plugin namespaces.

    Next Actions

    Recommended next action

    skillspec workspace map github.com/mattpocock/skills --out <build-dir>/skillspec.workspace.yml
    
    • Map the workspace before import: skillspec workspace map github.com/mattpocock/skills --out <build-dir>/skillspec.workspace.yml.
    • From the harness, ask /skillspec map this repo and import the packages safely when you want the agent to preserve package shape, plugin namespaces, and dependencies.
    • After fanout import, read the converge/alignment reports: decision replay should pass, required package steps should be proven, and missing proof should be explicit.
    • Optionally publish the doctor baseline, generated skill.spec.yml files, and alignment reports with the source repo so reviewers can see what changed.
    • Restart the harness after install, then use the SkillSpec-backed skills normally rather than invoking internal CLI steps by hand.
    • Do not flatten the repo into one skill; process each discovered SKILL.md as an atomic package and converge dependencies before install.

    Research Basis

    17 cited basis item(s) are attached to this report.

    • reliability_gap_instruction_density - Large, dense activation bodies increase dropped-step risk and later instructions suffer primacy bias. (SkillSpec Skills Reliability Gap)
    • reliability_gap_metadata_context_pressure - Skill frontmatter metadata and activated bodies consume context; broad surfaces degrade routing and adherence. (SkillSpec Skills Reliability Gap)
    • reliability_gap_implicit_environment_contract - Scripts and snippets carry dependency contracts whether or not the skill declares them. (SkillSpec Skills Reliability Gap)
    • reliability_gap_no_execution_guarantees - Prose instructions and embedded snippets are guidance unless moved into checkable or enforced surfaces. (SkillSpec Skills Reliability Gap)
    • reliability_gap_unfilled_requirement - Reliable skills need a portable, machine-checkable account of intended behavior, dependencies, and proof. (SkillSpec Skills Reliability Gap)
    • contract_trace_activation_adherence_enforcement - Activation, adherence, and enforcement are separate gates; static prose mostly influences adherence, not enforcement. (SkillSpec Contract Trace Methodology)
    • 11 more basis item(s) omitted. Use --json for the full basis registry.

    Use --html for a shareable review page or --json for machine evidence.

    Full artifacts: https://github.com/modiqo/skillspec/actions/runs/33826945331/artifacts/9920295148

    The artifact contains: doctor-report.txt, doctor-report.md, doctor-report.html, doctor-report.json, shape-gate.md, shape-gate.json, source-stage.json, target.txt.

  2. github-actions commented on Sep 4, 2026

    @github-actions

    Security analysis — what each skill can reach

    0 critical · 3 high · 1 medium · 3 low · 30 clean across 37 skill(s).
    4 skill(s) reach beyond their own directory and warrant review before install.

    Findings to review

    MEDIUM — skills/engineering/setup-matt-pocock-skills

    • 🟠 agent-directing instruction: the agent could be steered away from what you asked. — SKILL.md:59
    • 🟠 agent-directing instruction: an instruction outside the skill's main text could steer the agent. — domain.md:11

    HIGH — skills/engineering/tdd

    • 🔴 analysis incomplete: additional effects may exist that this report and any derived policy do not cover. — mocking.md

    HIGH — skills/engineering/wizard

    • 🔴 analysis incomplete: additional effects may exist that this report and any derived policy do not cover. — template.sh
    • 🔴 reads a secret from the environment → STRIPE_PUBLISHABLE_KEY: can read a token or key held in the environment. — template.sh:199
    • 🔴 reads a secret from the environment → STRIPE_SECRET_KEY: can read a token or key held in the environment. — template.sh:200
    • 🔴 reads a secret from the environment → key: can read a token or key held in the environment. — template.sh:102
    • 🟠 writes outside its directory → /dev/null: can modify files beyond the skill folder. — template.sh:15
    • 🟠 runs a command chosen at runtime: what it runs cannot be determined before it runs. — template.sh:102

    HIGH — skills/misc/git-guardrails-claude-code

    Cleared: 30 clean (reach nothing outside their directory); 3 low (touch only their own files).

    What to do next

    1. Check and decide. Review the findings above, or re-run the analysis yourself:

    skillspec boundary assess https://github.com/mattpocock/skills

    2. Install safely through the gate. Assess, then install only on your approval — across harnesses (Claude, Codex, or any AGENTS.md/SKILL.md skills dir):

    skillspec pull https://github.com/mattpocock/skills

    3. Guard your harness. Compile a deny-by-default policy from the surface and enforce it on every tool call, so an unreviewed effect is blocked:

    skillspec boundary emit <skill> --format skillspec   # least-privilege policy
    skillspec boundary guard install                     # managed PreToolUse hook (observe mode)
    skillspec boundary guard mode enforce                # deny effects no policy covers

    Static analysis only — nothing in the package was executed. See the boundary guide.

    Full analysis artifacts: https://github.com/modiqo/skillspec/actions/runs/33826945331/artifacts/9920295148

    The artifact contains: boundary-report.md, boundary-assess.txt, boundary-assess.json.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions