agentsclimarketplace

Askit build chain contract

Skill product-on-purpose/agent-skills-toolkit/skills/askit-build-chain-contract

Creates and improves a plugin's chain contract (agents/_chain-permitted.yaml) to the Advanced Skill Library Standard. Use when a skill or subagent invokes another component and you need to declare the permitted inter-component invocations, or to resolve S4 orphan or phantom findings.From its SKILL.md

Install
npx -y skills add product-on-purpose/agent-skills-toolkit --skill askit-build-chain-contract

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `node scripts/evaluate.mjs . --json`.

SKILL.md

2.5 KB, 507 tokens by cl100k_base, as published. Nobody here has run it

askit-build-chain-contract

Purpose

Author a plugin's chain contract: the explicit declaration of which components may invoke which others (Standard sec 3.6). A chain contract is a CONDITIONAL MUST - required if and only if a component invokes another, so a plugin with no inter-component invocation ships no contract (no empty governance files). Two modes: create authors agents/_chain-permitted.yaml (and the optional agents/_pairing.yaml); improve resolves S4 findings. Authoring depth is in references/authoring-chain-contracts.md. Follows the shared builder contract (../../docs/reference/builder-pattern.md).

When to use

When a skill or subagent declares a chain: to another component and you need to permit it, or when evaluate reports an S4 orphan (an invocation not permitted) or phantom (a contract entry naming a missing component).

create mode

  1. Scan components for chain: declarations (which caller invokes which callees). Skip the contract entirely if nothing chains (the conditional MUST).
  2. Author agents/_chain-permitted.yaml: one entry per caller, listing the components it may invoke. Copy templates/chain-permitted.yaml if none exists.
  3. Optionally author agents/_pairing.yaml for recommended (not required) skill plus subagent pairings.
  4. Evaluate (node scripts/evaluate.mjs . --json) until S4 is clean: every chain: invocation is permitted (no orphan) and every contract entry names an on-disk component (no phantom).

improve mode

  1. Run node scripts/evaluate.mjs . --json and read the S4 findings.
  2. For an orphan, add the missing caller: [callee] permission. For a phantom, fix the misspelled name, remove the stale entry, or create the missing component.
  3. Re-run to confirm S4 is clean.

Scope

The contract is agent-agnostic: one agents/_chain-permitted.yaml (no per-target form). It binds exactly when there is an invocation to make safe (sec 3.6), so it is a safety mechanism, not ceremony. S4 (chain-contract integrity) flags orphans and phantoms; do not ship an empty contract for a plugin that does not chain.

What ships with it: 3 files

8.3 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.