‹ 首页

code-completion-semantic-constraints

@arabelatso · 收录于 1 周前

Automatically complete partial code snippets while satisfying semantic constraints including variable types, invariants, pre/post-conditions, interface contracts, and expected input/output behavior. Use when users provide incomplete code with specific requirements like "complete this function that takes a list and returns sorted unique elements" or "fill in this method body that must maintain the invariant that x stays positive" or "implement this interface method with these type constraints." Produces compilable, executable code with tests and a constraint satisfaction report.

适合你,如果经常需要补全带类型约束或前置后置条件的函数体

/ 下载安装
code-completion-semantic-constraints.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add arabelatso/skills-4-se/code-completion-semantic-constraints
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- arabelatso/skills-4-se/code-completion-semantic-constraints
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify arabelatso/skills-4-se/code-completion-semantic-constraints
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
137GitHub stars
~878上下文体积 · 单文件
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · Apache-2.0 · 0f00a4f

Code Completion with Semantic Constraints

Overview

Complete partial code snippets while satisfying specified semantic constraints. Produces compilable code, verification tests, and a detailed report explaining how each constraint was satisfied.

Workflow
1. Parse Input

Extract and categorize the provided information:

Partial Code: Identify the incomplete code structure (function signature, class skeleton, method stub, etc.)

Semantic Constraints: Categorize constraints by type:

  • Type constraints: Variable types, return types, generic bounds
  • Invariants: Pre-conditions, post-conditions, loop invariants
  • Behavioral constraints: Expected input/output pairs, edge case handling
  • Interface contracts: Method signatures, protocol conformance
  • Performance constraints: Time/space complexity requirements
2. Analyze Constraints

For each constraint:

  • Determine if it's satisfiable
  • Identify dependencies between constraints
  • Note any conflicts or ambiguities
  • If constraints are unclear or conflicting, ask for clarification before proceeding
3. Complete the Code

Generate code that:

  • Compiles without errors in the target language
  • Satisfies all specified constraints
  • Follows language idioms and best practices
  • Includes necessary imports, type annotations, and error handling
  • Uses minimal complexity (avoid over-engineering)
4. Generate Verification Tests

Create minimal test cases that verify:

  • Type constraints are respected
  • Pre-conditions and post-conditions hold
  • Expected input/output behavior is correct
  • Edge cases are handled properly
  • Performance constraints are met (if specified)
5. Produce Constraint Satisfaction Report

Document how each constraint was satisfied:

  • Map each constraint to the code that satisfies it
  • Explain the reasoning for implementation choices
  • Note any assumptions made
  • Highlight any constraints that required trade-offs
Examples
Example 1: Type and Behavioral Constraints

Input:

def process_items(items):
    # TODO: complete this function
    pass

Constraints:

  • items is a list of integers
  • Return a list of unique integers in ascending order
  • Handle empty list (return empty list)
  • Time complexity: O(n log n)

Output: Completed function with sorting logic, tests for empty/normal/duplicate cases, and report explaining constraint satisfaction.

Example 2: Interface Contract

Input:

public class DataCache implements Cache {
    // TODO: implement required methods
}

Constraints:

  • Implement Cache interface (get, put, remove methods)
  • Thread-safe operations
  • LRU eviction policy with max size 100
  • Return null for missing keys

Output: Complete class implementation, concurrency tests, and report mapping each interface method to implementation.

Example 3: Invariant Preservation

Input:

void update_balance(Account* acc, int amount) {
    // TODO: complete
}

Constraints:

  • Pre-condition: acc != NULL && acc->balance >= 0
  • Post-condition: acc->balance >= 0 (balance never negative)
  • If amount would make balance negative, set to 0 instead

Output: Implementation with bounds checking, tests for edge cases, and report showing invariant preservation.

Output Format

Provide three components:

1. Completed Code

  • Fully compilable and executable
  • Includes necessary imports, type annotations, error handling
  • Follows language conventions

2. Verification Tests

  • Minimal test suite covering constraint verification
  • Include edge cases and boundary conditions
  • Use appropriate testing framework for the language

3. Constraint Satisfaction Report

  • Table or list mapping each constraint to implementation details
  • Explanation of design choices
  • Any assumptions or trade-offs made
Language Support

This skill works with any programming language. Adapt constraint types and verification approaches to language-specific features (e.g., type systems, contract programming, assertion libraries).

按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。