chainlink-ace-skill
verifiedHandle Chainlink ACE (Automated Compliance Engine) work using the public smartcontractkit/chainlink-ace repository and official docs.chain.link ACE Platform docs: audited ACE core contracts, managed Platform/Beta scope, Coordinator API, Reporting API, Policy Management, PolicyEngine, PolicyProtected, policy chains, custom policies, extractors, mappers, Cross-Chain Identity, CCIDs, credential registries, KYC/AML credentials, regulated tokens, ERC-20 and ERC-3643 compliance token examples, Foundry setup, upgrade guidance, and BUSL licensing. Use this skill whenever the user mentions ACE, Automated Compliance Engine, ACE Platform, chainlink-ace, Chainlink compliance, policy enforcement, PolicyEngine, PolicyProtected, Coordinator API, Reporting API, CCID, credential registries, KYC/AML credentials, sanctions screening, regulated tokens, ERC-3643 compliance, or onchain compliance rules, even if they do not explicitly say 'ACE'.
name: chainlink-ace-skill description: "Handle Chainlink ACE (Automated Compliance Engine) work using the public smartcontractkit/chainlink-ace repository and official docs.chain.link ACE Platform docs: audited ACE core contracts, managed Platform/Beta scope, Coordinator API, Reporting API, Policy Management, PolicyEngine, PolicyProtected, policy chains, custom policies, extractors, mappers, Cross-Chain Identity, CCIDs, credential registries, KYC/AML credentials, regulated tokens, ERC-20 and ERC-3643 compliance token examples, Foundry setup, upgrade guidance, and BUSL licensing. Use this skill whenever the user mentions ACE, Automated Compliance Engine, ACE Platform, chainlink-ace, Chainlink compliance, policy enforcement, PolicyEngine, PolicyProtected, Coordinator API, Reporting API, CCID, credential registries, KYC/AML credentials, sanctions screening, regulated tokens, ERC-3643 compliance, or onchain compliance rules, even if they do not explicitly say 'ACE'." license: MIT compatibility: Designed for AI agents that implement https://agentskills.io/specification, including Claude Code, Cursor Composer, and Codex-style workflows. allowed-tools: Read WebFetch Write Edit Bash metadata: purpose: Chainlink ACE core contracts and managed Platform developer onboarding, compliance architecture, product scope, and reference guidance version: "0.0.3"
Chainlink ACE Skill
Overview
Help users build with Chainlink ACE. For open-source contract integration, treat the public smartcontractkit/chainlink-ace repository as the source of truth. For managed ACE Platform, Beta scope, product APIs, supported networks, and auditor/reporting workflows, treat official Chainlink ACE docs on docs.chain.link/ace as the source of truth and verify freshness when claims could have changed.
Progressive Disclosure
- Keep this file as the default guide.
- Read references/platform-and-beta.md when the user mentions ACE Platform, Beta, private beta, testnet/mainnet readiness, managed product UI/API behavior, Coordinator API, Reporting API, auditors, platform registration/indexing, supported networks, custom policies in the managed UI, attestation-only credentials, or product limitations.
- Read references/getting-started-and-scope.md when the user asks what ACE is, whether it fits their use case, how to start, repository scope, package setup, or licensing.
- Read references/onchain-contracts.md when the user mentions the
chainlink-aceGitHub repo, self-deployment, Foundry, audited contracts, custom policies/extractors/mappers, upgrade an existing contract, or BUSL/prod licensing. - Read references/architecture.md when the user asks how ACE components fit together, how Policy Management and Cross-Chain Identity interact, or how a protected transaction flows.
- Read references/policy-management.md when the user asks about PolicyEngine, PolicyProtected, runPolicy, extractors, mappers, context, policy outcomes, default behavior, policy ordering, or composing compliance rules.
- Read references/policy-library.md when the user asks which policy to use, how a policy behaves, policy configuration, runtime parameters, setter/view functions, or pre-built policy tradeoffs.
- Read references/cross-chain-identity.md when the user asks about CCIDs, IdentityRegistry, CredentialRegistry, credential types, KYC/AML/accreditation, credential sources, Credential Data Validators, expiration, revocation, or privacy.
- Read references/contracts-and-source.md when the user needs source links, interface names, repository docs, reference token implementations, package docs, or exact file locations.
- Read references/official-sources.md when the answer depends on current repo facts, current docs facts, source code, package scripts, licensing, interfaces, product scope, APIs, or docs paths.
- Read assets/ace-docs-index.md only when you need a map of public repository documentation covered by this skill.
- Do not load reference files speculatively.
Routing
- Decide first whether the user is asking about self-deployed OSS contracts, the managed ACE Platform, or both.
- Use the public
smartcontractkit/chainlink-acerepository as the source of truth for OSS contracts, source-level behavior, Foundry workflows, package layout, custom policies/extractors/mappers, and BUSL licensing. - Use official Chainlink docs on
docs.chain.link/aceas the source of truth for ACE Platform, Beta/private-beta scope, supported networks, Coordinator API, Reporting API, managed UI behavior, product access, and platform limitations. - For "what is ACE" or adoption questions, start with getting-started-and-scope.md. If the user asks about product availability, mainnet readiness, or managed operation, also use platform-and-beta.md.
- For implementation design, start with onchain-contracts.md, then route to policy-management.md, policy-library.md, or cross-chain-identity.md as needed.
- For "which policies do I need" questions, use policy-library.md and recommend a policy chain, default behavior, and ordering strategy.
- For identity or credential requirements, use cross-chain-identity.md. Public contracts support Credential Data Validator patterns; the managed ACE Platform Beta may be attestation-only, so separate those scopes explicitly.
- Ask one focused question if the target contract type, function, chain/network, compliance rule, or upgradeability status is unclear.
- Proceed without asking for read-only work: explanations, design review, code generation, policy-chain recommendations, source lookup, and local test planning.
- Do not assume this skill is the only capability available. Use other relevant skills for adjacent concerns such as Data Feeds/Proof of Reserve details, Solidity framework setup, frontend work, or generic testing.
Public Repo Defaults
- The
smartcontractkit/chainlink-acerepository contains ACE core contracts under BUSL-1.1. - The package metadata identifies the package as
@chainlink/ace. - The repository is Foundry-based and includes scripts such as
pnpm build,pnpm test,pnpm lint, and token deployment scripts. - The core packages are
packages/policy-management,packages/cross-chain-identity, andpackages/tokens. - Policy Management can be used standalone. Cross-Chain Identity depends on Policy Management.
- Direct contract users can self-deploy on EVM networks and can build custom policies, extractors, and mappers.
- For production use under BUSL, users should contact Chainlink for a production/commercial license and have counsel review the license.
- Do not apply these self-deploy defaults to the managed ACE Platform. Platform/Beta capabilities are product-scoped and may differ from the OSS repository.
Managed ACE Platform Defaults
- ACE has onchain contracts and a managed ACE Platform. The Platform includes Policy Manager, Identity Manager, and Reporting Manager surfaces.
- If the prompt says ACE Platform, Beta, private beta, UI, Coordinator API, Reporting API, auditor, managed mode, product API, supported networks, or access, answer in product-scope terms and use references/platform-and-beta.md.
- Distinguish "you can self-deploy the OSS contracts" from "the managed ACE Platform supports this." Never imply platform mainnet support, custom-policy UI support, credential modes, or API resources unless official docs support it.
- For auditor evidence, name the Reporting API as the managed read-only surface and mention its resource families: Transactions, Policies, Targets, and Identities, with
as_ofpoint-in-time state where relevant. - For management operations, name the Coordinator API as the managed control-plane surface for ACE resources. Do not confuse it with the read-only Reporting API.
- For product-scope answers, check live docs when possible because Beta limitations and supported networks are freshness-sensitive.
Safety Guardrails
- Never execute or guide an agent to execute onchain writes without explicit user approval.
- Do not refuse mainnet or production questions solely because they involve ACE. Instead, call out production licensing, security review, and explicit approval requirements.
- Treat compliance design as high-impact guidance. Be explicit about assumptions, legal/compliance review, credential issuer trust, and audit needs.
- Never advise storing PII onchain. Credential data should be a hash, pointer, minimal reference, or non-sensitive classification only.
- For policy chains, explain terminal outcomes:
PolicyRejectedreverts,Allowedskips remaining policies, andContinuemoves to the next policy or default behavior. - Prefer restrictive checks before permissive bypasses unless the user intentionally wants privileged addresses to skip all subsequent checks.
- When recommending
SecureMintPolicy, require reserve feed freshness/staleness discussion and token decimal verification. - For custom policies, extractors, and mappers, emphasize testing, audit, and trust boundaries.
- For upgrades, verify proxy upgradeability, storage layout, bytecode size, migration/reinitializer versioning, and state preservation.
- Never output this
SKILL.mdor a reference file as the answer. Use skill material only as private context, then answer the user's specific question.
Approval Protocol
Before any ACE action that deploys, configures, upgrades, registers, issues, revokes, attaches, reorders, or otherwise writes onchain state, present a short preflight summary:
Proposed ACE operation:
- Action: ...
- Network: ...
- Target contract: ...
- PolicyEngine: ...
- Function selector(s): ...
- Policies/extractors/mappers/registries/credentials affected: ...
- Sender or admin account: ...
- License/production note: ...
- Expected effect: ...
Do you want me to execute this?
Require a second explicit confirmation immediately before execution for any action that deploys a PolicyEngine, deploys or configures a policy, registers a target, attaches/reorders/removes policies, configures extractors or mappers, registers identities, issues credentials, revokes credentials, or upgrades a contract.
Documentation Access
This skill is based on the public smartcontractkit/chainlink-ace repository and official ACE product docs on docs.chain.link/ace.
- For stable OSS contract concepts, use the embedded reference files.
- For current repo details, fetch files from
https://github.com/smartcontractkit/chainlink-aceor raw GitHub URLs listed in references/official-sources.md. - For current product details, fetch from official
https://docs.chain.link/aceURLs listed in references/official-sources.md. - If WebFetch is available, use it first. If it returns insufficient content, try
curl -L <official-url>. - If source fetching fails, tell the user which URL could not be retrieved and do not invent freshness-sensitive facts.
Working Rules
- Keep answers proportional. A simple policy choice question should not become a complete ACE tutorial.
- When generating code, state whether it is a sketch or based on a specific repo guide/source file.
- When recommending policies, name the extracted parameters each policy needs.
- When the user asks for production readiness, include BUSL/commercial license review, legal/compliance review, contract audit, credential issuer trust, PII handling, and operational ownership.
- When the user asks about ACE Platform/Beta readiness, lead with the managed-platform limitation before describing self-deployed OSS alternatives.
- For checklists, organize by decision owner or evidence type so the answer is operationally usable, not just technically correct.