← 返回 Skills 市场
neuhanli

i-skill

作者 hanli · GitHub ↗ · v3.1.0 · MIT-0
cross-platform ✓ 安全检测通过
264
总下载
2
收藏
0
当前安装
27
版本数
在 OpenClaw 中安装
/install i-skill
功能描述
Generates personalized interaction guides by analyzing user conversations. Invoke when users seek personalized responses, want AI assistants to better unders...
使用说明 (SKILL.md)

\r \r

i-skill - Personalized Interaction Profile\r

\r Analyzes user conversations to generate a structured personalization profile, enabling AI assistants to deliver customized service based on user preferences.\r \r ---\r \r

📁 Data Storage Location\r

\r Default Location: User data is stored in the skill's own user_data/ directory (relative to the skill installation).\r \r Environment Variable Override: You can set the ISKILL_DATA_PATH environment variable to specify a custom directory for storing user data.\r \r Important Notes:\r

  • All file paths referenced in this document refer to the user_data/ directory (either default or via ISKILL_DATA_PATH override)\r
  • The skill will never write outside the configured data directory\r
  • Ensure proper permissions are set on the data directory to protect your personal information\r \r

🔒 Initialization Behavior & User Consent\r

\r Key Principle: No directories are created and no files are written to disk until the skill is manually activated.\r \r

How It Works:\r

  1. Module Loading: When the skill modules (audit_log.py, consent_manager.py, myself_manager.py) are first imported or instantiated, no file system operations occur.\r
  2. Lazy Initialization: Directories and files are only created when the first write operation is performed, which happens after manual activation (user consent).\r
  3. Read Operations: Reading existing files does not trigger initialization.\r \r

Important:\r

  • Manual activation (e.g., "激活个性化") represents user's consent to read/write personalization data\r
  • Only destructive operations (delete/reset) require additional confirmation\r
  • Initialization happens transparently as part of the first write operation after activation\r \r ---\r \r

⚡ Behavioral Anchors (High Priority — Always Obey)\r

\r

These rules remain active throughout the entire session after activation, regardless of context length.\r \r

  1. Identity Awareness: When i-skill is active, every response should reflect understanding of the user profile. Not by mentioning it explicitly, but through word choice, recommendations, and decision-making.\r
  2. State Check: Important - Consent First: No data is read automatically at session start. When the skill is manually activated (e.g., "激活个性化"), this action itself represents user consent. Only after activation:\r
    • Read i-skill_state.json (from data directory) to check current state\r
    • If status == "active", read myself.md (from data directory) and use it as personalization context\r
  3. Language: Use the user's preferred language as recorded in the profile. Default to Chinese for existing profiles.\r \r ---\r \r

🚀 Activation & Lifecycle\r

\r

Activation Commands\r

  • "激活个性化" / "Activate personalization" / "Enable personalization"\r
  • "personalization"\r \r

Other Commands\r

  • View profile: "查看档案" / "View my profile"\r
  • Manual update: "更新档案" / "Update my profile"\r
  • Pause: "暂停个性化" / "Pause personalization"\r
  • Resume: "恢复个性化" / "Resume personalization"\r
  • Reset: "重置档案" / "Reset profile"\r
  • Delete: "删除档案" / "Delete profile"\r \r

Activation Flow\r

\r

  1. User issues an activation command (e.g., "激活个性化")\r
  2. Manual activation implies consent: The act of manually activating the skill represents user's consent to read/write personalization data\r
  3. After activation:\r a. Read i-skill_state.json (from data directory) to check current state\r b. If already active, inform user: "Personalization is already active, profile version vX"\r c. If inactive, create/update i-skill_state.json to active, increment activation count by 1\r d. Read current myself.md (if it exists, from data directory), combine with conversation context, generate/update profile using the template below\r e. Display a brief profile summary to the user after generation\r \r ---\r \r

📋 Profile Format Specification\r

\r The profile is stored in myself.md (from data directory) and must strictly follow this semi-structured template:\r \r

# User Profile\r
\r
> Auto-generated on YYYY-MM-DD · Version vX · Refined over N iterations\r
\r
## Basic Info\r
- **Name**: (User's name or AI-inferred)\r
- **Career Direction**: (Current primary career or job-seeking direction)\r
- **Tech Stack**: (Technologies frequently used or currently learning, comma-separated)\r
\r
## Interests & Preferences\r
- **Core Interests**: (3-5 core interest areas)\r
- **Learning Focus**: (Areas currently being studied in depth)\r
- **Content Preference**: (Types of content preferred: hands-on projects / theoretical knowledge / industry trends / comprehensive analysis)\r
\r
## Communication Style\r
- **Language**: (Primary language)\r
- **Style**: (Concise / Detailed / Casual / Professional)\r
- **Format Preference**: (Code examples / Plain text / Visual charts / Mixed)\r
- **Feedback Habit**: (Proactive / Implicit adjustment / Direct correction)\r
\r
## Thinking Style\r
(Free-form description, 1-3 sentences. E.g.: Systematic thinker, analyzes problems holistically; pragmatic, prefers actionable solutions; curious, enjoys exploring new technology boundaries)\r
\r
## Recent Focus\r
(2-5 recent topics or projects, in reverse chronological order)\r
\r
## Observation Notes\r
(Free-form description of other stable traits, interesting details, or memorable preferences observed from conversations. 1-3 items, concise. Prefer prefixing each item with `[场景]` for traceability, e.g. `[2026-03-27, cogito讨论] 对"本质"有执念...`)\r
```\r
\r
### Profile Generation Rules\r
- **Must include** all fixed section headers (Basic Info, Interests & Preferences, Communication Style, Thinking Style, Recent Focus, Observation Notes)\r
- **Fixed fields** (bold `**`-marked items) must appear under their corresponding sections\r
- **Free zones** ("Thinking Style", "Observation Notes") allow AI to demonstrate insightfulness, but keep it concise\r
- **Length limit**: Entire profile must not exceed 800 words\r
- **No fabrication**: Do not write information without evidence; mark uncertain fields as "To be observed"\r
- **On each update**: Regenerate completely rather than appending. Retain valuable content from previous versions, discard what's outdated\r
- **Confidence tags** (for uncertain or newly observed traits): Append `[~]` (1st observation, tentative) or `[!!]` (2nd observation, emerging) after the value. Tags are removed once confirmed (3+ consistent signals or user approval). Unmarked = confirmed. Example: `- **Learning Focus**: LLM应用开发 [~]Rust(待观察)`\r
\r
---\r
\r
## 🔄 Auto-Sensing Updates\r
\r
> **PRIVACY FIRST**: All profile updates require explicit user consent. No automatic silent updates are performed without prior user approval.\r
\r
### Update Triggers\r
\r
When **any** of the following conditions are met, **ask the user for explicit consent** before updating the profile:\r
\r
| Trigger | Description | Update Mode |\r
|---------|-------------|-------------|\r
| User demonstrates a new stable trait | Mentions a new career direction, new core interest, etc. | **Ask for consent first**, then update only if approved |\r
| User explicitly corrects profile errors | "I'm not a frontend dev, I do backend" | **Confirm correction first**, then update if approved |\r
| Conversation involves major changes | Career change, tech stack switch, etc. | **Show change summary first**, ask for consent before updating |\r
| 3+ consecutive rounds on a new topic | In-depth discussion of a topic not covered in the profile | **Ask for consent first**, then update only if approved |\r
\r
### Update Thresholds\r
\r
- **Do NOT trigger updates for**: Casual greetings, single technical Q&A, repeated discussions of known topics\r
- **Tweak vs. Rewrite**: If only 1-2 fields change, modify those fields directly; if 3+ fields change, regenerate the full profile\r
- **Prevent over-updating**: The same field must not be updated more than once within 5 conversation rounds (unless the user explicitly corrects it)\r
- **Signal exclusion**: Do NOT learn from silence/vague praise ("上次那个不错" context-dependent) / single events / hypothetical discussions / third-party preferences. Only explicit corrections, direct preference declarations, and 3+ repeated consistent signals count.\r
- **Gradual confirmation**: For non-explicit signals (e.g., topic drift → potential new interest), use confidence tags: 1st occurrence → `[~]` in Observation Notes only (no profile field change); 2nd → `[!!]`; 3rd → ask user before writing to profile fields.\r
\r
### Consent-First Update Behavior\r
\r
```\r
User: (Normal conversation content suggesting potential profile updates)\r
AI:   (Normal response content)\r
AI:   "I noticed some information that could update your profile. Would you like me to update it with these changes?\r
      - Career Direction: LLM App Development → Full-Stack Development\r
      - New Interest: Rust programming language\r
      (Reply 'yes' to confirm, 'no' to skip)"\r
[Only update if user explicitly says 'yes']\r
```\r
\r
### Confirmed Update Behavior\r
\r
```\r
AI: Detected potential updates to your profile:\r
    - Career Direction: LLM App Development → Full-Stack Development\r
    - New Interest: Rust programming language\r
    Confirm update? (Reply "yes" to confirm, "no" to skip)\r
```\r
\r
---\r
\r
## 🔒 Safe Operation Confirmations\r
\r
> The following destructive operations **require explicit user confirmation** before execution.\r
\r
### Modify Profile (Manual Trigger)\r
\r
When the user proactively requests profile modification (not auto-sensing updates):\r
1. Show a **change summary** (which fields were added/modified/removed)\r
2. Wait for user confirmation ("Reply 'yes' to confirm")\r
3. Execute write after confirmation\r
\r
### Reset Profile\r
\r
When the user requests a profile reset:\r
1. Warn: **"Resetting will clear all personalization data and restore to a blank template. This action cannot be undone. Reply 'yes' to confirm."**\r
2. After user confirmation, clear `myself.md` and write initial template, reset `profile_version` to 0\r
3. Keep `i-skill_state.json` `status` unchanged\r
\r
### Delete Profile\r
\r
When the user requests profile deletion:\r
1. Warn: **"Deletion will permanently remove all personalization data (including profile and state), and i-skill will return to an inactive state. Reply 'yes' to confirm."**\r
2. After user confirmation:\r
   - Delete `myself.md`\r
   - Reset `i-skill_state.json` to `{"status": "inactive", "activation_count": 0, "profile_version": 0}`\r
3. Stop personalization service\r
\r
### Pause / Resume\r
\r
- **Pause**: Execute immediately, no confirmation required. Change state `status` to `paused`, retain all profile data\r
- **Resume**: Execute immediately, no confirmation required. Change state `status` back to `active`, re-read profile to resume personalization service\r
\r
---\r
\r
## 📂 File Reference\r
\r
### Core Files (Stored in data directory)\r
- **`myself.md`** — User profile (with version tracking)\r
- **`i-skill_state.json`** — Activation state, statistics, profile_version\r
\r
### Security Files (Managed by Scripts)\r
- **`./scripts/myself_manager.py`** — Safe profile file read/write (with auto-rollback)\r
- **`./scripts/validator.py`** — Data validation and PII sanitization\r
- **`./scripts/audit_log.py`** — Operation audit logging\r
- **`./scripts/consent_manager.py`** — Cross-skill authorization management\r
- **`myself_operations.log`** — File-level operation audit log (from data directory)\r
- **`audit_log.json`** / **`defensive_log.json`** — Audit logs (from data directory)\r
- **`consent_state.json`** — Authorization state (from data directory)\r
\r
---\r
\r
## 🎯 Design Principles\r
\r
1. **AI-Driven, Tool-Assisted**: All decisions (when to update, what to update, whether to confirm) are made by the AI based on conversation context; Python scripts only handle safe file operations\r
2. **Structured + Flexible**: The profile format has a fixed skeleton to ensure consistency, while free-form areas allow the AI to demonstrate insightfulness\r
3. **Consent-First**: All data reads and writes require explicit user consent; no silent or automatic operations without user approval\r
4. **Anti-Bloat**: Each update regenerates rather than appends; total profile length is capped at 800 words\r
5. **Privacy First**: Never store raw conversations, only abstracted profile traits; PII detection and sanitization is ensured by `validator.py`\r
\r
---\r
\r
## 🔐 Security & Privacy Guidelines\r
\r
### ISKILL_DATA_PATH Environment Variable\r
\r
**Purpose**: The `ISKILL_DATA_PATH` environment variable allows you to specify a custom directory for storing user data.\r
\r
**Security Recommendations**:\r
1. **Use a dedicated directory**: Always set `ISKILL_DATA_PATH` to a dedicated, isolated directory specifically for this skill\r
2. **Restrict permissions**: Ensure the directory has appropriate file permissions to prevent unauthorized access\r
3. **Avoid system directories**: Never point `ISKILL_DATA_PATH` to system directories or directories containing sensitive files\r
4. **Backup regularly**: Regularly backup the data directory to prevent data loss\r
5. **Default is safe**: If not set, the skill will use its own `user_data/` directory which is the safest option\r
\r
### Data Protection\r
\r
- All personal data is stored locally only; no data is sent to external servers\r
- PII (Personally Identifiable Information) is automatically detected and sanitized\r
- File operations include automatic rollback mechanisms to prevent data corruption\r
- Audit logs are maintained for all file operations\r
安全使用建议
This skill appears coherent for building and managing a local personalization profile. Before installing or activating it: 1) Decide and control where the profile files are stored — either accept the default skill-specific user_data/ directory or set ISKILL_DATA_PATH to a safe, dedicated directory (do NOT point it to system or multi-tenant directories). 2) Remember that the skill treats manual activation command as consent to read/write the profile — if you want finer-grained consent, avoid issuing the activation command or extend the consent flow. 3) The code exposes optional parameters (e.g., config_path) that could make it read arbitrary config files if invoked that way; ensure the agent or integrations cannot pass unexpected paths. 4) If you want extra assurance, run the skill in a sandboxed environment and inspect or pin the code yourself; the implementation performs path validation and local-only operations and contains no network/exfiltration behavior in the reviewed files.
功能分析
Type: OpenClaw Skill Name: i-skill Version: 3.1.0 The i-skill bundle is a personalization tool designed to analyze user conversations and maintain a local profile. It demonstrates high security maturity, featuring robust PII sanitization in `validator.py`, path traversal protections in `myself_manager.py` and `audit_log.py`, and a comprehensive consent management system in `consent_manager.py`. The instructions in `SKILL.md` prioritize user privacy and explicit consent, and the code lacks any indicators of data exfiltration, remote execution, or malicious intent.
能力评估
Purpose & Capability
Name/description (personalization from conversation data) align with included modules: consent_manager, myself_manager, validator, and audit_log. There are no unrelated required binaries or credentials. The code implements local profile storage, consent flows, validators, and audit logging — all expected for this purpose.
Instruction Scope
SKILL.md confines reads/writes to the skill's user_data/ directory and requires manual activation/consent before writes, which matches the code. Note: the skill honors an optional ISKILL_DATA_PATH environment override — setting that env var changes where files are created. Also, the code exposes API parameters (e.g., config_path in validators / AuditLog) that, if used, could cause reads of arbitrary config files; SKILL.md does not instruct using arbitrary external config files, but the capability exists in the code.
Install Mechanism
No install spec is provided and there are no external downloads. The skill is instruction + local Python modules only, which is the lowest-risk install model in this registry.
Credentials
The skill requests no credentials and no required env vars. It optionally uses ISKILL_DATA_PATH to change the data storage location — a reasonable, proportional configuration knob. Be aware: if a user sets ISKILL_DATA_PATH to a sensitive system directory, the skill will create and write files there (it relies on that env var as the storage root).
Persistence & Privilege
Skill is not always-enabled and has default agent invocation semantics (user-invocable, can be called autonomously). It writes only under its data directory (subject to the env override). It does not modify other skills or global agent settings in the code reviewed.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install i-skill
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /i-skill 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v3.1.0
**Profile annotation and confidence tagging improvements** - Observation Notes section now recommends concise items prefixed with context (e.g., `[2026-03-27, cogito讨论] ...`) for better traceability. - Added explicit rules for "confidence tags": use `[~]` for tentative (first observation), `[!!]` for emerging (second observation), and remove tags once confirmed; example given. - Existing profile format rules clarified to emphasize informative, context-rich, and traceable profile notes. - No code or logic changes; SKILL.md documentation refinements only.
v3.0.3
i-skill 3.0.3 - Manual activation (e.g., "激活个性化") now counts as user consent for reading/writing personalization data; explicit additional consent prompts removed from standard activation flow. - Data initialization and file/directory creation occur only after manual activation, not upon explicit "consent" alone. - Only destructive operations (delete/reset) require confirmation beyond initial activation. - Documentation clarifies that activation alone triggers both reading and writing of profile data, simplifying onboarding. - No behavior changes to profile structure or update triggers.
v3.0.2
- Added detailed documentation emphasizing that no directories are created and no files are written before explicit user consent is obtained. - Clarified skill initialization: file system operations are only performed after user consent, with lazy data directory creation on the first write. - Updated "State Check" behavior to explicitly require user consent before reading any data. - Reorganized documentation to highlight consent-first data access and operation sequence.
v3.0.1
i-skill v3.0.1 - Added explicit privacy protections: now requires user consent before reading/writing any personalization data. - Introduced an environment variable (ISKILL_DATA_PATH) to allow users to specify a custom data storage directory. - Updated all profile update and activation flows to require explicit user approval before making any changes. - Removed all automatic and silent profile updates; all updates now follow a consent-first model. - Clarified file access rules: the skill never reads/writes outside its configured data directory.
v3.0.0
# i-skill v3.0.0 changelog - Removed the file: SECURITY_UPDATE.md - No functional changes or additions in this version. - Cleanup focused release: obsolete or unnecessary security update documentation removed.
v2.1.1
- Added SECURITY_UPDATE.md to document or communicate recent security updates or changes. - No changes to existing core logic or features; update focused on transparency of security practices.
v2.1.0
Version 2.1.0 - Added comprehensive audit and consent file tracking, including audit logs, security event logs, and consent decision history. - Introduced version tracking for the user profile and a new file-level operation audit trail. - Enhanced security: stricter path validation, improved file permissions handling, and advanced PII detection for both Chinese and English. - Improved error handling with rollback on write failures and better separation of critical logs. - Updated consent management, allowing consent revoke and restore with explicit logic. - Documentation updated to reflect new files, improved transparency, and enhanced data protection measures.
v2.0.2
- Added new security and privacy modules: audit_log.py, consent_manager.py, validator.py, and security_config.json. - Introduced dedicated profile management via myself_manager.py. - Enhanced logging, validation, and consent management to strengthen security and data handling. - Improved code structure by modularizing privacy, audit, validation, and core profile management functionalities.
v2.0.1
**This release removes several scripts and configuration files, significantly simplifying the skill's implementation.** - Removed five files related to security, consent, profile management, and validation (`security_config.json`, `audit_log.py`, `consent_manager.py`, `myself_manager.py`, `validator.py`). - Decreases internal file and code complexity. - Streamlines the maintenance and deployment of the skill. - Core personalization and profile features remain unchanged.
v2.0.0
**Major Update: Wisdom-Level Iterative Profiling & Security Overhaul** - Introduced wisdom-level iterative user profiling: each activation now re-examines all past conversations and existing profiles to generate an improved, concise user profile—avoiding unbounded content growth. - Deprecated additive profile expansion; each profile regeneration now replaces, rather than appends to, previous content for enhanced accuracy. - Substantially streamlined documentation, removing legacy references and technical guides. - Enhanced security and privacy: path validation, file permission hardening, comprehensive input sanitization, and error handling. - Centralized all file operations and access logging into a new utility: `scripts/myself_manager.py`.
v1.3.1
i-skill 1.3.1 - Introduced new defensive mechanism modules: added access control, audit log, and consent management scripts. - Enhanced privacy and security handling options with new functionalities for monitoring and controlling access. - No changes to main SKILL.md usage or core interaction guide; defensive features are now described as optional enhancements. - No impact on existing activation flows or primary personalization capability.
v1.3.0
i-skill 1.3.0 Changelog - Removed defensive security features: access control, audit log, and consent management scripts have been deleted. - Privacy protection simplified: only sensitive information filtering and basic data sanitization remain. - No audit or access restrictions: all skills and assistants now have direct read access to user profile (`myself.md`) for personalization. - Documentation updated to reflect reduced security model and focus solely on privacy filtering.
v1.2.4
## i-skill v1.2.4 Changelog - Added a new "Design Intent Clarification" section explicitly outlining the primary function, defensive mechanisms, and platform independence. - Clarified that the core feature is for other skills to directly read the user profile (myself.md) for personalization. - Stated that defensive/protective mechanisms are optional and do not interfere with personalization functionality. - Platform-level protections are positioned as enhancements, not dependencies for core operation. - No code or file structure changes; documentation updated for intent and architectural clarity.
v1.2.3
i-skill 1.2.3 Changelog - Updated security model: clarified that personalized guides in myself.md are non-sensitive and sanitized during collection. - Replaced prior security/defense language in SKILL.md with an emphasis on data classification, protection strategy, and safe sharing by design. - No functional or code changes. - Version number remains at 1.2.0 in metadata.
v1.2.2
Version 1.2.2 of i-skill - No file changes were detected in this release. - All features, usage scenarios, and skill documentation remain unchanged.
v1.2.1
No functional changes in this version. - No file changes detected from the previous release. - Skill version and metadata remain unchanged. - Documentation content and security notes consistent with prior version.
v1.2.0
i-skill v1.2.0 i-skill has been comprehensively optimized to enhance discoverability and user experience. The skill now features an optimized description under 200 characters for better searchability, enhanced tags for improved discovery, and refined activation response strategies that provide immediate confirmation and transparent expectation management. These improvements ensure i-skill effectively generates personalized interaction guides while maintaining clear communication about its analysis scope starting from activation point forward.
v1.1.7
i-skill has been comprehensively optimized to enhance discoverability and user experience. The skill now features an optimized description under 200 characters for better searchability, enhanced tags for improved discovery, and refined activation response strategies that provide immediate confirmation and transparent expectation management. These improvements ensure i-skill effectively generates personalized interaction guides while maintaining clear communication about its analysis scope starting from activation point forward.
v1.1.6
No code or configuration changes detected in this version. - Version number updated to 1.1.6 without any underlying file or documentation changes. - No new features, bug fixes, or documentation updates in this release.
v1.1.5
- Removed references/README.md for a cleaner file structure. - No functional changes to the core skill or documentation content.
元数据
Slug i-skill
版本 3.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 27
常见问题

i-skill 是什么?

Generates personalized interaction guides by analyzing user conversations. Invoke when users seek personalized responses, want AI assistants to better unders... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 264 次。

如何安装 i-skill?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install i-skill」即可一键安装,无需额外配置。

i-skill 是免费的吗?

是的,i-skill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

i-skill 支持哪些平台?

i-skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 i-skill?

由 hanli(@neuhanli)开发并维护,当前版本 v3.1.0。

💬 留言讨论