一键导入
ai-engineer
Build LLM apps, RAG systems, and prompt pipelines. Use for AI-powered features.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build LLM apps, RAG systems, and prompt pipelines. Use for AI-powered features.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Kimi WebBridge lets AI control the user's real browser — navigate, click, type, read, screenshot, and interact with any website using the user's actual login sessions. Use this skill whenever the user wants to interact with websites, automate browser tasks, scrape web content, or perform any action requiring a real browser. Also use when the user mentions "browser", "webpage", "open URL", "screenshot", or asks to read/interact with any website. Use even for simple-sounding browser requests — the daemon handles all complexity.
Record demo GIFs/MP4s of agent TUI sessions (Claude Code, Codex CLI, other agent CLIs), synchronized via a Stop-hook sentinel so the recording knows exactly when each response finishes. Two modes - scripted (VHS tape, repeatable) and live/adaptive (tmux + asciinema, where the outer Claude reads each inner response and decides the next prompt). Use when the user wants to record, capture, or make a demo/GIF/video of a Claude Code or Codex session, create a .tape file, drive a nested agent session interactively, or asks about VHS/asciinema recording of an agent CLI.
Put a website behind a Cloudflare Access (Zero Trust) login gate, or remove one, entirely from the CLI — no dashboard GUI. Use when the user wants to password/email-protect a hostname, gate a Cloudflare Pages or Workers site, restrict a site to specific emails, set up Zero Trust Access, or asks about "cf-gate". Manages Access applications and allow-email policies via the Cloudflare API using a token in the skill's .env. Note: wrangler does NOT manage Access — this uses the Cloudflare REST API directly.
Defer execution of a slash-command or prompt until a timer elapses. Starts a background polling timer that prints "TIMER DONE" on stdout, then executes the deferred prompt.
Generate an image via Codex CLI (OpenAI gpt-image-1) and save to a local path. Use when user asks to create/draw/generate an image AND save it (e.g. "draw X, save to images/y.png", "用 codex 生圖"). Requires `codex login` + `$OPENAI_API_KEY`.
DeepSeek client via the private chat.deepseek.com API (browser-exported userToken), not the official platform.deepseek.com API. Use for personal webgui automation, `x-ds-pow-response` / DeepSeekHashV1 POW solving, or SSE THINK/TOOL_SEARCH stream parsing.
| name | ai-engineer |
| description | Build LLM apps, RAG systems, and prompt pipelines. Use for AI-powered features. |
Build production LLM applications and AI systems.
from anthropic import Anthropic
client = Anthropic()
def chat(messages: list[dict], system: str = None) -> str:
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
system=system or "You are a helpful assistant.",
messages=messages
)
return response.content[0].text
# With retry and error handling
from tenacity import retry, stop_after_attempt, wait_exponential
@retry(stop=stop_after_attempt(3), wait=wait_exponential(min=1, max=10))
def safe_chat(messages, system=None):
try:
return chat(messages, system)
except Exception as e:
logger.error(f"LLM call failed: {e}")
raise
import json
def extract_structured(text: str, schema: dict) -> dict:
prompt = f"""Extract information from the text according to this schema:
{json.dumps(schema, indent=2)}
Text: {text}
Return valid JSON only."""
response = chat([{"role": "user", "content": prompt}])
return json.loads(response)
from langchain.text_splitter import RecursiveCharacterTextSplitter
def chunk_documents(docs: list[str], chunk_size=1000, overlap=200):
splitter = RecursiveCharacterTextSplitter(
chunk_size=chunk_size,
chunk_overlap=overlap,
separators=["\n\n", "\n", ". ", " "]
)
return splitter.split_documents(docs)
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams
client = QdrantClient(":memory:") # or url="http://localhost:6333"
# Create collection
client.create_collection(
collection_name="docs",
vectors_config=VectorParams(size=1536, distance=Distance.COSINE)
)
# Upsert vectors
client.upsert(
collection_name="docs",
points=[
{"id": i, "vector": embed(chunk), "payload": {"text": chunk}}
for i, chunk in enumerate(chunks)
]
)
# Search
results = client.search(
collection_name="docs",
query_vector=embed(query),
limit=5
)
def rag_query(question: str, top_k=5) -> str:
# Retrieve relevant chunks
results = client.search(
collection_name="docs",
query_vector=embed(question),
limit=top_k
)
context = "\n\n".join([r.payload["text"] for r in results])
prompt = f"""Answer based on the context below.
Context:
{context}
Question: {question}
Answer:"""
return chat([{"role": "user", "content": prompt}])
Input: "Add AI chat to this app" Action: Set up LLM client, create chat endpoint, add error handling
Input: "Build RAG for documentation" Action: Chunk docs, create embeddings, set up vector store, implement search