Golang Patterns
affaan-m/ECC
Go-specific design patterns and best practices including functional options, small interfaces, dependency injection, concurrency patterns, error handling, and package organization.
Trigger Pattern wormhole|layerzero|ccip|bridge|crosschain|vaa|guardian|emitter|relay|remotechain|payload|nonce.sequence - Inject Into Breadth agents, depth-external
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PlamenTSV/plamen cross-chain-timing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .claude/skills/cross-chain-timing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .claude/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PlamenTSV/plamen cross-chain-timing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .agents/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .agents/skills/cross-chain-timing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .agents/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PlamenTSV/plamen cross-chain-timing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .cursor/skills/cross-chain-timing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .cursor/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PlamenTSV/plamen.git --path agents/skills/aptos/cross-chain-timing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PlamenTSV/plamen cross-chain-timing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .gemini/skills/cross-chain-timing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .gemini/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PlamenTSV/plamen cross-chain-timingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .github/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .github/skills/cross-chain-timing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .github/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PlamenTSV/plamen --skill cross-chain-timing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PlamenTSV/plamen cross-chain-timing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PlamenTSV/plamen.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/agents/skills/aptos/cross-chain-timing .opencode/skills/cross-chain-timing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cross-chain-timing" agent skill from https://github.com/PlamenTSV/plamen/tree/main/agents/skills/aptos/cross-chain-timing into .opencode/skills/cross-chain-timing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cross-chain-timing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cross-chain-timingTrigger Pattern wormhole|layerzero|ccip|bridge|crosschain|vaa|guardian|emitter|relay|remotechain|payload|nonce.sequence - Inject Into Breadth agents, depth-external
Cross Chain Timing is an agent skill from PlamenTSV/plamen. Trigger Pattern wormhole|layerzero|ccip|bridge|crosschain|vaa|guardian|emitter|relay|remotechain|payload|nonce.sequence - Inject Into Breadth agents, depth-external
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Autonomous Web3 security audit agent for Claude Code. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 795962b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cross Chain Timing loads about 4.4k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 1,743 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PlamenTSV/plamen at commit 795962b, republished under its MIT licence (© PlamenTSV). 1,743 words, ~4,403 tokens.
.claude/skills/cross-chain-timing/SKILL.md (or your agent's skills folder).Trigger Pattern:
wormhole|layerzero|ccip|bridge|cross_chain|vaa|guardian|emitter|relay|remote_chain|payload|nonce.*sequenceInject Into: Breadth agents, depth-external Finding prefix:[CCT-N]Rules referenced: R1, R2, R4, R8, R10, R16
Covers: cross-chain message verification, timing asymmetry between Aptos and other chains, resource creation requirements, nonce/sequence replay protection, and cross-chain price relay staleness.
Aptos's fast finality (~1 second with BFT consensus) creates a fundamental timing asymmetry with slower chains (Ethereum ~12min, rollups 10-60min). This asymmetry is the primary attack vector for cross-chain timing exploits on Aptos. Additionally, Move's type-safe resource model introduces unique account/resource requirements for cross-chain operations.
Find all cross-chain messaging calls and infrastructure:
| # | Bridge/Protocol | Direction | Aptos Function | Remote Chain | Message Type |
|---|---|---|---|---|---|
| 1 | {Wormhole/LayerZero/CCIP/custom} | {Aptos->Remote / Remote->Aptos} | {function name} | {Ethereum/Arbitrum/etc.} | {token transfer / state sync / price relay / governance} |
If Wormhole is detected:
| Component | Module/Function | Purpose | Location |
|---|---|---|---|
| VAA Verification | vaa::parse_and_verify / guardian signature check | Guardian signature verification | {file:line} |
| Message Posting | wormhole::publish_message | Send message from Aptos | {file:line} |
| Token Bridge | complete_transfer / create_wrapped_coin | Token bridging | {file:line} |
| Emitter Resource | Emitter capability or resource | Message source identity | {file:line} |
If LayerZero is detected:
| Component | Module/Function | Verification Method | Location |
|---|---|---|---|
| Endpoint | endpoint::lz_receive / receive handler | Oracle + Relayer attestation | {file:line} |
| Remote Mapping | Trusted remote configuration | Address/chain validation | {file:line} |
| Nonce Tracking | Inbound/outbound nonce resources | Replay prevention | {file:line} |
For custom or other bridges:
| Component | Module/Function | Verification Method | Location |
|---|---|---|---|
| Message Resource | {resource type} | {signature/merkle/optimistic} | {file:line} |
| Relayer | {relayer constraint} | {how relayer is validated} | {file:line} |
| Nonce Tracking | {nonce storage} | {replay prevention method} | {file:line} |
For EACH inbound cross-chain message consumed by the module:
| # | Check | Status | Location | Notes |
|---|---|---|---|---|
| 1 | Guardian signature count >= quorum (13/19) | YES/NO | {line} | Does module verify guardian_set_index is current? |
| 2 | Guardian set is current (not expired) | YES/NO | {line} | Old guardian sets may be compromised |
| 3 | Emitter chain ID validated | YES/NO | {line} | Reject messages from unexpected source chains |
| 4 | Emitter address validated | YES/NO | {line} | Reject messages from unexpected contracts on source chain |
| 5 | Sequence number replay check | YES/NO | {line} | Each VAA sequence should be processed exactly once |
| 6 | Consistency level validated | YES/NO | {line} | finalized vs confirmed - determines security guarantee |
| 7 | Payload format validated | YES/NO | {line} | Malformed payload handling - Move's bcs::from_bytes may abort on bad data |
| 8 | VAA resource authenticity | YES/NO | {line} | Is the VAA resource created by the Wormhole module (not user-supplied)? |
Critical: Missing checks 1-5 = CRITICAL (arbitrary cross-chain message injection). Missing checks 6-8 = HIGH (message quality/integrity issues).
Aptos-specific: Move's type system provides some protection - a VAA resource type can only be created by the Wormhole module. However, verify that the consuming module checks the VAA was created by the CORRECT Wormhole deployment (not a cloned module at a different address).
For non-Wormhole bridges:
| # | Check | Status | Location | Notes |
|---|---|---|---|---|
| 1 | Message source authenticated (signatures/proofs) | YES/NO | {line} | |
| 2 | Source chain ID validated | YES/NO | {line} | |
| 3 | Source contract/address validated | YES/NO | {line} | |
| 4 | Replay protection (nonce/sequence/Table lookup) | YES/NO | {line} | |
| 5 | Message freshness (timestamp check against timestamp::now_seconds()) | YES/NO | {line} | |
| 6 | Relayer authorization (if applicable) | YES/NO | {line} |
| Chain | Optimistic Finality | Confirmed Finality | Protocol Assumes |
|---|---|---|---|
| Aptos | ~1s (BFT commit) | ~1s (BFT - single round) | {which level?} |
| {Remote Chain} | {time} | {time} | {which level?} |
| Asymmetry Window | - | - | {max delay between chains} |
Critical question: When Aptos processes a message about remote chain state, how old can that state be? Compute: max_staleness = remote_finality + bridge_relay_delay + aptos_processing_time
For each piece of state synced cross-chain:
| State Variable | Source Chain | Sync Trigger | Max Staleness | Aptos Functions Using It | Fresh Required? |
|---|---|---|---|---|---|
| {state} | {chain} | {event/periodic/manual} | {time estimate} | {list functions} | YES/NO |
For each dependent function on Aptos:
Aptos-specific: Check if synced state is stored in a global resource (move_to/borrow_global) or a Table. If a global resource, ALL functions reading it are affected by staleness. If a Table, trace which keys are stale.
Aptos's fast finality means actions on Aptos are visible almost immediately, but take time to propagate to remote chains:
1. Attacker acts on Aptos (visible in ~1s due to BFT finality)
2. Aptos message posted via bridge (begins relay)
3. TIMING WINDOW: Remote chain does not yet know about Aptos action
4. Attacker acts on remote chain using pre-Aptos-action state
5. Bridge message arrives on remote chain - state updates
6. Attacker profited from acting on both chains during asymmetry1. State changes on remote chain (e.g., price moves, governance action)
2. Bridge message relay begins (latency: {estimate})
3. TIMING WINDOW: Aptos still uses old remote state
4. Attacker acts on Aptos using stale remote state
5. Bridge message arrives on Aptos - state updates
6. Attacker profited from Aptos action with stale stateCross-chain operations on Aptos have unique resource requirements due to Move's ownership model:
| # | Check | Status | Notes |
|---|---|---|---|
| 1 | Recipient CoinStore<CoinType> registered before transfer arrival? | YES/NO | If NO: who registers it? Who pays gas? |
| 2 | coin::register<CoinType> called for recipient? | YES/NO | If NO: transfer aborts with ECOIN_STORE_NOT_PUBLISHED |
| 3 | What happens if recipient has not registered the coin type? | {abort/skip/queue} | Aborted transfers may be lost if no recovery path |
| 4 | Are wrapped coin types (WrappedCoin<T>) registered before first bridge transfer? | YES/NO | First bridged token of a type requires coin creation + registration |
| 5 | Are resources created for cross-chain escrow (move_to)? | YES/NO | Check signer requirements - does the bridge module have the correct signer capability? |
| 6 | Is there a recovery mechanism for failed deliveries? | YES/NO | Lost funds if no recovery |
| 7 | Can an attacker front-run resource creation with a malicious resource? | YES/NO | Move type system prevents this for same types, but check wrapper types |
Critical Aptos pattern: Cross-chain token transfers require the destination account to have a CoinStore<T> registered for the specific coin type. If it does not:
Resource account pattern: Many Aptos bridge modules use resource accounts (account::create_resource_account) for escrow. Verify:
| # | Check | Status | Location | Notes |
|---|---|---|---|---|
| 1 | Replay protection exists | YES/NO | {line} | Method: {Table lookup/counter/EventHandle sequence/resource per message} |
| 2 | Replay check is BEFORE state changes | YES/NO | {line} | If after: partial replay possible |
| 3 | Out-of-order messages handled | YES/NO | {line} | Strict ordering vs any-order processing |
| 4 | Sequence gaps handled | YES/NO | {line} | What if message N+1 arrives before N? |
| 5 | Table storage sized for growth | YES/NO | {line} | Table<u64, bool> grows unboundedly - gas cost implications |
| 6 | Double-spend across chains | YES/NO | {line} | Same asset spent on both chains during relay |
Aptos replay patterns:
Table<u64, bool> or Table<vector<u8>, bool>. If key exists, already processed. Reliable but Table lookups have gas cost proportional to depth.event::counter on an EventHandle as implicit sequence. Not reliable for replay - events are not queryable on-chain.Move-specific concern: Table entries cannot be iterated or enumerated on-chain. If replay state is in a Table, ensure the lookup key is deterministic from message content (not relayer-supplied).
If oracle prices are relayed cross-chain:
| # | Check | Status | Notes |
|---|---|---|---|
| 1 | Price freshness validated on Aptos side (timestamp::now_seconds() - price_timestamp < MAX_STALENESS) | YES/NO | Max acceptable age? |
| 2 | Price source authenticated | YES/NO | Can fake price be relayed? |
| 3 | Price deviation bounds | YES/NO | Max delta from last known price? |
| 4 | Fallback if relay is delayed/offline | YES/NO | What happens to price-dependent operations? |
| 5 | Flash loan on source chain can manipulate relayed price | YES/NO | Is source chain price spot or TWAP? |
Staleness calculation: relay_staleness = source_price_age + bridge_latency + aptos_processing
If relay_staleness > acceptable_threshold at worst case, price is stale. Apply Rule 16 (Oracle Integrity).
Aptos-specific: timestamp::now_seconds() returns seconds (not milliseconds). Ensure staleness comparisons use consistent units. Also verify timestamp::now_microseconds() is not confused with now_seconds() - a 1000x unit mismatch could make staleness checks ineffective.
1. Attacker monitors {SOURCE_CHAIN} for state changes at {MONITOR_POINT}
2. State change triggers sync message (latency window opens: {LATENCY_ESTIMATE})
3. Attacker executes on Aptos at {EXPLOIT_FUNCTION} using stale {STALE_STATE}
-- Aptos execution is near-instant (~1s), so attacker can react quickly
4. Sync message arrives on Aptos, state updates in resource
5. Profit = {PROFIT_FORMULA}
6. Cost = bridge_fees + Aptos_gas + capital_lockup_cost
7. Viable if: profit > cost AND repeatableReverse direction (Aptos -> remote chain):
1. Attacker monitors Aptos state change (near-instant visibility due to BFT finality)
2. Attacker front-runs the bridge message on remote chain (longer finality window)
3. Attacker exploits stale state on remote chain before sync arrivesAptos cost model: Aptos gas costs are low (~0.001 APT per tx). The primary cost is capital lockup and bridge fees, not gas. This makes small-margin attacks more viable on Aptos than EVM.
timestamp::now_seconds() - last_sync < MAX_STALENESS, stale state is rejected{CONTRACTS} -- Modules to analyze
{BRIDGE_PROTOCOL} -- Specific bridge (Wormhole, LayerZero, CCIP, custom)
{SYNC_POINT} -- Function where cross-chain state is consumed
{DEPENDENT_FUNCTIONS} -- Functions that read synced state
{SOURCE_CHAIN} -- Chain where state originates
{DEST_CHAIN} -- Chain where stale state is exploited
{MONITOR_POINT} -- What attacker monitors on source chain
{EXPLOIT_FUNCTION} -- Function attacker calls on dest chain
{STALE_STATE} -- Specific state variable/resource field that becomes stale
{LATENCY_ESTIMATE} -- Realistic bridge latency
{PROFIT_FORMULA} -- (new_value - old_value) * position_size| Field | Required | Description |
|---|---|---|
| bridge_inventory | yes | All cross-chain messaging infrastructure |
| verification_audit | yes | VAA/message verification completeness |
| timing_windows | yes | Asymmetry windows with duration estimates |
| resource_creation | yes | Recipient resource requirements and failure modes |
| replay_protection | yes | Nonce/sequence management assessment |
| price_relay_audit | if applicable | Cross-chain price freshness and manipulation risk |
| arbitrage_viability | yes | Quantified attack profitability or NOT_VIABLE |
| finding | yes | CONFIRMED / REFUTED / CONTESTED |
| evidence | yes | Code locations with line numbers |
| step_execution | yes | Status for each step |
| Step | Required | Completed? | Notes |
|---|---|---|---|
| 1. Identify Cross-Chain Messaging Infrastructure | YES | ||
| 2. Cross-Chain Message Verification Audit | YES | ||
| 3. Timing Window Analysis (both directions) | YES | ||
| 4. Resource Creation Requirements | YES | ||
| 5. Nonce and Sequence Management | YES | ||
| 6. Cross-Chain Price Relay Audit | IF price relay detected | ||
| 7. Quantify Arbitrage Viability | YES |
After Step 2: If VAA verification is incomplete -> immediate finding, do not wait for timing analysis.
After Step 3: Feed timing windows to TEMPORAL_PARAMETER_STALENESS skill for parameters cached across chain boundaries.
After Step 4: If resource creation can fail -> cross-reference with REF_LIFECYCLE skill for stranded asset analysis.
After Step 6: Feed price staleness findings to ORACLE_ANALYSIS (Aptos version) if applicable.
© PlamenTSV, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in agents/skills/aptos/cross-chain-timing of PlamenTSV/plamen.
Open the folder on GitHubat commit 795962b
Cross Chain Timing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cross Chain Timing this skillPlamenTSV/plamen | 303 | — | ~4.4k | Automated safety check: Pass | MIT | |
| Golang Patternsaffaan-m/ECC | 276k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Kotlin Exposed Patternsaffaan-m/ECC | 276k | 4 repos | ~5.5k | Automated safety check: Pass | MIT | |
| Dotnet Patternsaffaan-m/ECC | 276k | 1 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Fastapi Patternsaffaan-m/ECC | 276k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Python Patternsaffaan-m/ECC | 276k | — | ~2.3k | Automated safety check: Pass | MIT |
affaan-m/ECC
Go-specific design patterns and best practices including functional options, small interfaces, dependency injection, concurrency patterns, error handling, and package organization.
affaan-m/ECC
JetBrains Exposed ORM patterns including DSL queries, DAO pattern, transactions, HikariCP connection pooling, Flyway migrations, and repository pattern.
affaan-m/ECC
Idiomatic C and .NET patterns, conventions, dependency injection, async/await, and best practices for building robust, maintainable .NET applications.
affaan-m/ECC
FastAPI patterns for async APIs, dependency injection, Pydantic request and response models, OpenAPI docs, tests, security, and production readiness.
affaan-m/ECC
Python-specific design patterns and best practices including protocols, dataclasses, context managers, decorators, async/await, type hints, and package organization.
sickn33/agentic-awesome-skills
Reference document for monopoly patterns. An agent skill from sickn33/agentic-awesome-skills.
PlamenTSV/plamen
Prepare Solidity projects for a security audit — test coverage, test quality, NatSpec docs, code hygiene, dependency health, best-practice enforcement, deployment readiness, and project…
PlamenTSV/plamen
Trigger Pattern Always (used by all verifier agents) - Inject Into security-verifier agents (Phase 5)
PlamenTSV/plamen
Trigger Pattern Always (Aptos Move) - foundational security check - Inject Into Breadth agents, depth agents
PlamenTSV/plamen
Trigger Pattern Always (Sui Move) -- foundational security check - Inject Into Breadth agents, depth agents
PlamenTSV/plamen
Trigger Pattern ACCOUNTCLOSING flag detected (close/CloseAccount usage) - Inject Into Breadth agents, depth agents
PlamenTSV/plamen
Trigger Pattern Always required for Solana audits - Inject Into Breadth agents, depth agents
Trigger Pattern wormhole|layerzero|ccip|bridge|crosschain|vaa|guardian|emitter|relay|remotechain|payload|nonce.sequence - Inject Into Breadth agents, depth-external. Cross Chain Timing is an agent skill from PlamenTSV/plamen.
Cross Chain Timing fits situations like: pattern wormhole|layerzero|ccip|bridge|crosschain|vaa|guardian|emitter|relay|remotechain|payload|nonce.sequence - Inject Into Breadth agents.
Run `npx skills add PlamenTSV/plamen --skill cross-chain-timing -a claude-code`. Or copy the skill folder (agents/skills/aptos/cross-chain-timing in PlamenTSV/plamen) into .claude/skills/cross-chain-timing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PlamenTSV/plamen --skill cross-chain-timing -a codex`. Or copy the skill folder (agents/skills/aptos/cross-chain-timing in PlamenTSV/plamen) into .agents/skills/cross-chain-timing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PlamenTSV/plamen --skill cross-chain-timing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cross-chain-timing, .gemini/skills/cross-chain-timing, .github/skills/cross-chain-timing and .opencode/skills/cross-chain-timing in your project.
SKILL.md names no scripts, command-line tools or credentials: Cross Chain Timing is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cross Chain Timing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Cross Chain Timing: Golang Patterns (affaan-m/ECC, 276k stars), Kotlin Exposed Patterns (affaan-m/ECC, 276k stars), Dotnet Patterns (affaan-m/ECC, 276k stars) and Fastapi Patterns (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PlamenTSV (a GitHub user) maintains it in PlamenTSV/plamen, which has 303 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on September 26, 2026.
Source: PlamenTSV/plamen on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.