Skip to content

feat(skills): add openclaw-user-profiler skill#841

Closed
eamanc-lab wants to merge 1 commit into
affaan-m:mainfrom
eamanc-lab:feat/add-openclaw-user-profiler
Closed

feat(skills): add openclaw-user-profiler skill#841
eamanc-lab wants to merge 1 commit into
affaan-m:mainfrom
eamanc-lab:feat/add-openclaw-user-profiler

Conversation

@eamanc-lab

@eamanc-lab eamanc-lab commented Mar 23, 2026

Copy link
Copy Markdown

What Changed

Add the openclaw-user-profiler skill — a dual-mode skill that (1) builds a user.md profile through natural conversation so your OpenClaw lobster knows who it's working with, and (2) recommends Claude Code Skills based on the user's role using a 42-role catalog across 11 categories with a three-level inheritance model (Universal → Category-wide → Role-specific).

Why This Change

Personalized AI agent interactions require knowing the user. This skill bridges the gap between generic agent behavior and personalized assistance by creating structured user profiles and matching users to relevant skills based on their professional role.

Testing Done

  • Manual testing completed
  • Edge cases considered and tested

Type of Change

  • feat: New feature

Security & Quality Checklist

  • No secrets or API keys committed (ghp_, sk-, AKIA, xoxb, xoxp patterns checked)
  • JSON files validate cleanly
  • Shell scripts pass shellcheck (if applicable)
  • Pre-commit hooks pass locally (if configured)
  • No sensitive data exposed in logs or output
  • Follows conventional commits format

Documentation

  • Added comments for complex logic
  • README updated (if needed)

Source: https://github.com/eamanc-lab/openclaw-persona-forge


Summary by cubic

Adds the openclaw-user-profiler skill to build a user.md through conversation and recommend Claude Code Skills by role, improving personalization and skill discovery for OpenClaw users.

  • New Features
    • Dual modes: Profile Mode (intake → preview → write/update user.md) and Recommend Mode (role-based catalog with 3-level inheritance).
    • Trigger phrases for profiling and recommendations; skips SOUL edits.
    • Splits installed vs recommended skills and shows install commands.
    • Multilingual conversation (EN/zh) with friendly “Adam” tone.
    • Graceful error handling with a unified degraded-output format.
    • Compatible with claude-code, claude-ai, and OpenClaw; no network calls.

Written for commit db3be9a. Summary will update on new commits.

Summary by CodeRabbit

  • New Features
    • Introduced the openclaw-user-profiler skill with two operational modes: Profile Mode for gathering user information through conversational intake, and Recommend Mode for suggesting skills based on role matching and local installation status. Compatible with Claude Code and Claude AI platforms.

Add user profiling and skill recommendation skill for OpenClaw AI Agents.
Conversational intake builds a user.md profile, then recommends relevant
Claude Code Skills based on the user's role from a 42-role catalog with
three-level inheritance model.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

A new skill specification file for openclaw-user-profiler has been added, defining a two-mode workflow: Profile Mode for capturing and storing user information via conversational intake, and Recommend Mode for matching users to relevant skills based on role classification.

Changes

Cohort / File(s) Summary
New Skill Specification
skills/openclaw-user-profiler/SKILL.md
Added comprehensive skill definition with metadata, two operational modes (Profile and Recommend), workflow procedures including user intake, role matching against skill catalog, installed skill detection, error handling patterns, and multilingual support guidance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • affaan-m

Poem

Hop, hop, a new skill takes the stage! 🐰
Profile Mode captures wisdom on the page,
Recommend Mode finds the perfect fit,
A directory templated, every bit,
Our user-profiler hops on with grace! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(skills): add openclaw-user-profiler skill' accurately and specifically summarizes the main change: introducing a new skill called openclaw-user-profiler to the skills collection.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new openclaw-user-profiler skill — a dual-mode conversational skill that builds a user.md profile through natural dialogue (Profile Mode) and recommends Claude Code Skills based on a 42-role catalog with three-level inheritance (Recommend Mode). The prose structure and workflow design are thoughtful, but the skill is critically incomplete as submitted: it delegates its three core data assets to reference files that do not exist in this PR, making it non-functional in any real execution environment.

Key issues found:

  • Missing reference files (blocking): references/user-profile-fields.md, references/user-md-template.md, and references/role-skill-catalog.md are all referenced as authoritative sources for intake fields, output template, and the role-skill catalog respectively — but none of these files exist in the PR. An agent executing this skill would find nothing at those paths.
  • Unused ${SKILL_DIR} convention: The skill documents a variable substitution step (${SKILL_DIR}) but no placeholders actually appear in the document; the reference links use bare relative paths that would not benefit from the substitution.
  • Incorrect origin attribution: origin: ECC implies this is a core ECC skill, but it originates from an external community repository (eamanc-lab/openclaw-persona-forge); origin: community would be correct.
  • Platform/filesystem mismatch: The skill scans ~/.claude/skills/ for installed skills but also lists claude-ai (browser-sandboxed) as a supported platform, where local filesystem access is unavailable.
  • Not registered in manifests/install-modules.json: As a curated skill under skills/, it should have a corresponding entry in the install manifest per the project's SKILL-PLACEMENT-POLICY.

Confidence Score: 1/5

  • Not safe to merge — the skill is non-functional without its missing reference files.
  • The SKILL.md prose is coherent and the workflow design is solid, but the three reference files that hold all the actual data and templates (user-profile-fields.md, user-md-template.md, role-skill-catalog.md) are absent. Without them, an agent executing this skill has no field definitions, no output template, and no role catalog to consult, making both modes functionally broken. Additional issues (wrong origin, unused SKILL_DIR, platform mismatch, missing manifest entry) further reduce confidence.
  • skills/openclaw-user-profiler/SKILL.md — and the entirely absent references/ subdirectory

Important Files Changed

Filename Overview
skills/openclaw-user-profiler/SKILL.md New skill SKILL.md is well-structured in prose, but is critically incomplete: the three reference files it delegates core logic to (user-profile-fields.md, user-md-template.md, role-skill-catalog.md) are absent from the PR, making the skill non-functional as submitted. Additional issues include an unused SKILL_DIR variable convention, incorrect origin attribution (ECC vs community), and a platform-incompatible filesystem scan on claude-ai.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A([User Message]) --> B{Trigger Detection}

    B -->|Profile trigger| C[Profile Mode]
    B -->|Recommend trigger| D[Recommend Mode]
    B -->|Both triggers| C

    C --> C1{user.md exists?}
    C1 -->|Yes| C2[Read & summarise existing profile]
    C1 -->|No| C3[Conversational intake\nrefs/user-profile-fields.md ❌ MISSING]
    C2 --> C3
    C3 --> C4[Assemble preview\nrefs/user-md-template.md ❌ MISSING]
    C4 --> C5{User confirms?}
    C5 -->|Yes| C6[Write user.md]
    C5 -->|No| C3
    C6 --> C7{Recommend skills?}
    C7 -->|Yes| D

    D --> D1{user.md available?}
    D1 -->|Yes| D2[Read Role field]
    D1 -->|No| D3[Ask user for role]
    D2 --> D4[Match against catalog\nrefs/role-skill-catalog.md ❌ MISSING]
    D3 --> D4
    D4 --> D5[Merge inheritance chain\nLevel 0 + Level 1 + role-specific]
    D5 --> D6[Scan ~/.claude/skills/\n⚠️ N/A on claude-ai platform]
    D6 --> D7[Split: Installed vs Recommended]
    D7 --> D8([Present recommendations])
Loading

Reviews (1): Last reviewed commit: "feat(skills): add openclaw-user-profiler..." | Re-trigger Greptile

Comment on lines +82 to +86
**Fields and intake order**: see [references/user-profile-fields.md](references/user-profile-fields.md)

### Step 3: Generate user.md

**Template and format**: see [references/user-md-template.md](references/user-md-template.md)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Missing reference files block skill from functioning

The SKILL.md delegates three critical pieces of logic to external reference files that are not included in this PR:

  • references/user-profile-fields.md (line 82) — defines the intake fields and their order
  • references/user-md-template.md (line 86) — defines the output template and format
  • references/role-skill-catalog.md (line 112) — contains the entire 42-role × skill mapping

Without these files the skill is functionally incomplete: an agent executing this SKILL.md will follow the instructions to consult those files but find nothing, falling back to improvised behavior with no defined structure. The directory currently contains only SKILL.md:

skills/openclaw-user-profiler/
└── SKILL.md   ← only file present

All three reference files need to be added to skills/openclaw-user-profiler/references/ for the skill to work as documented.

Comment on lines +32 to +35
**Agent Execution**:
1. Determine this SKILL.md file's directory path as `SKILL_DIR`
2. Replace all `${SKILL_DIR}` in this document with the actual path

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 ${SKILL_DIR} variable declared but never used

The "Skill Directory Convention" section instructs the agent to determine SKILL_DIR and replace all ${SKILL_DIR} occurrences — but there are zero ${SKILL_DIR} placeholders anywhere else in the document. The three reference file links use bare relative paths (references/user-profile-fields.md, etc.) with no ${SKILL_DIR} prefix.

Either:

  1. The relative links should be prefixed with ${SKILL_DIR}/ so the agent resolves them correctly (e.g., ${SKILL_DIR}/references/user-profile-fields.md), or
  2. The "Skill Directory Convention" block should be removed if relative resolution is sufficient.

As written, the agent is given instructions to perform a substitution that has no effect, which is confusing and may lead to unexpected behaviour when the references are actually present.

Comment on lines +1 to +24
---
name: openclaw-user-profiler
origin: ECC
description: |-
Two things: (1) Build a user.md through conversation so your OpenClaw lobster
knows who it's working with. (2) Recommend Claude Code Skills based on the
user's role — 42 roles across 11 categories, three-level inheritance model.
Profile mode: chat → user.md. Recommend mode: role → curated skill list.
Use when a user wants their lobster to learn about them, update their profile,
or discover which Skills fit their role.
Not for: editing SOUL.md (use the forge) or general-purpose Q&A.
Triggers: know me, get to know me, write user.md, update my profile,
profile me, recommend skills, skills for my role, what skills should I use,
I'm an engineer, I'm a PM, 了解我, 认识我, 推荐 skill, 用户画像。
license: MIT
homepage: https://github.com/eamanc-lab/openclaw-persona-forge
metadata:
author: eamanc
version: 2.3.0
compatibility:
platforms:
- claude-code
- claude-ai
---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 origin: ECC is incorrect for a community-authored skill

The origin field is set to ECC (Everything Claude Code), but this skill was authored by eamanc at https://github.com/eamanc-lab/openclaw-persona-forge — an external, community project. Looking at other curated skills in this repo, origin: ECC is reserved for skills that originate from this repository's own team.

Using ECC here misattributes the skill's provenance, which can mislead users about its maintenance ownership and support expectations.

Suggested change
---
name: openclaw-user-profiler
origin: ECC
description: |-
Two things: (1) Build a user.md through conversation so your OpenClaw lobster
knows who it's working with. (2) Recommend Claude Code Skills based on the
user's role — 42 roles across 11 categories, three-level inheritance model.
Profile mode: chat → user.md. Recommend mode: role → curated skill list.
Use when a user wants their lobster to learn about them, update their profile,
or discover which Skills fit their role.
Not for: editing SOUL.md (use the forge) or general-purpose Q&A.
Triggers: know me, get to know me, write user.md, update my profile,
profile me, recommend skills, skills for my role, what skills should I use,
I'm an engineer, I'm a PM, 了解我, 认识我, 推荐 skill, 用户画像。
license: MIT
homepage: https://github.com/eamanc-lab/openclaw-persona-forge
metadata:
author: eamanc
version: 2.3.0
compatibility:
platforms:
- claude-code
- claude-ai
---
---
name: openclaw-user-profiler
origin: community
description: |-

Comment on lines +123 to +126
1. Match the user's role to the closest entry in the catalog
2. Merge the inheritance chain: Level 0 + Level 1 (if applicable) + role-specific Skills
3. Scan `~/.claude/skills/` to check which Skills are already installed
4. Split into "Already installed" and "Recommended" groups

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Hardcoded ~/.claude/skills/ path incompatible with claude-ai platform

The skill scans ~/.claude/skills/ at runtime to detect installed skills, but the frontmatter lists claude-ai as a supported platform. claude.ai runs in a sandboxed browser context with no access to the local filesystem, so this scan will always fail silently and fall back to showing all skills as "Recommended" rather than splitting into "Already Installed" vs. "Recommended".

If claude-ai support is genuinely intended, the skill should document that the installed-skills check is skipped on that platform (falling back to the degraded behavior in the error table), or remove claude-ai from the compatibility list.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@skills/openclaw-user-profiler/SKILL.md`:
- Line 176: The sentence "Based on what a [role] deals with every day, here are
some Skills that could be worth your time. I've flagged the ones you already
have installed." needs a small wording tweak for readability: update the second
sentence to "I've flagged the ones you have already installed." Locate the exact
sentence in SKILL.md (the string "I've flagged the ones you already have
installed.") and replace it with the suggested phrasing while preserving
punctuation and surrounding text.
- Around line 46-148: Add the required top-level headings "When to Use", "How It
Works", and "Examples" to SKILL.md and reorganize the existing content under
them: move the current "When Not to Use" list and any brief positive use-cases
under "When to Use"; put the "Workflow", "Profile Mode", "Recommend Mode", and
step-by-step procedures under "How It Works"; and add at least one concrete
usage scenario or sample interaction under "Examples" (you can reuse the Trigger
Detection table and Mode flows as example snippets). Ensure the exact headings
"When to Use", "How It Works", and "Examples" appear as top-level sections so
the file meets repository guidelines.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3bf274f6-659e-4aa3-9249-1cb86e9134fd

📥 Commits

Reviewing files that changed from the base of the PR and between df4f2df and db3be9a.

📒 Files selected for processing (1)
  • skills/openclaw-user-profiler/SKILL.md

Comment on lines +46 to +148
## When Not to Use This Skill

- Editing the lobster's soul or personality → use openclaw-persona-forge or openclaw-soul-forge
- General conversation unrelated to user profiling → this Skill isn't needed

---

## Workflow

### Trigger Detection

| User says | Mode |
|-----------|------|
| "Get to know me" / "Write user.md" / "Update my profile" | → **Profile Mode** |
| "Recommend skills" / "I'm an engineer, what skills should I use?" | → **Recommend Mode** |
| "Get to know me, then recommend skills" | → **Profile Mode**, then automatically enters **Recommend Mode** |

---

## Profile Mode

### Step 1: Check for an existing user.md

1. Ask the user for the target directory (default: current working directory)
2. Check whether `user.md` already exists there
3. **Exists** → read it, show a brief summary, ask what they'd like to update
4. **Doesn't exist** → move to Step 2

### Step 2: Conversational intake

**Guiding principles**:
- **Don't list every question at once** — keep it conversational, one or two related questions at a time
- **Lead with role, then branch out** — the role determines where follow-up questions go
- **Skipping is fine** — if the user says "skip" or "I'd rather not say," move on without pressing
- **Infer before asking** — if something can be deduced from context, confirm it instead of re-asking

**Fields and intake order**: see [references/user-profile-fields.md](references/user-profile-fields.md)

### Step 3: Generate user.md

**Template and format**: see [references/user-md-template.md](references/user-md-template.md)

1. Assemble the collected info into a user.md preview
2. Show the preview to the user for confirmation
3. Once confirmed, write it to the target directory using the Write tool
4. **After writing, proactively offer Skill recommendations**: since you now know the user's role, ask if they'd like to see Skills suited to their profile — if yes, transition into Recommend Mode

### Update Mode

When the user asks to update an existing user.md:
1. Read the current file
2. Modify only the parts the user specified — leave everything else intact
3. Overwrite with the Write tool

---

## Recommend Mode

### Step 1: Determine the user's role

1. Check the target directory for `user.md` → if present, read the Role field
2. No user.md → ask the user directly
3. The user may also state their role in the trigger itself ("I'm a frontend engineer")

### Step 2: Match against the catalog

**Role × Skill mapping**: see [references/role-skill-catalog.md](references/role-skill-catalog.md)

The catalog uses a **three-level inheritance model**:
- **Level 0 (Universal)**: inherited by every role automatically
- **Level 1 (Category-wide)**: e.g. "Engineering Common" — inherited by all engineering roles
- **Role-specific Skills**: recommended for that role only

Covers 11 categories and 42 professional roles, each recommendation tagged with its source (🅰️ Official / 📦 Community) and install method.

### Step 3: Assemble the recommendation list

1. Match the user's role to the closest entry in the catalog
2. Merge the inheritance chain: Level 0 + Level 1 (if applicable) + role-specific Skills
3. Scan `~/.claude/skills/` to check which Skills are already installed
4. Split into "Already installed" and "Recommended" groups

### Step 4: Present recommendations

Output format:

```markdown
## Recommended Skills for You

**Your role**: [role]
**Inherits**: Level 0 (Universal) + [category-wide] + [role-specific]

### Already Installed
- **[skill-name]**: [one sentence on why it's a fit for you]

### Recommended
- **[skill-name]** (📦 [source]): [one sentence]
Install: `npx skills add <package>`
```

After the user picks, provide concrete install instructions.

---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Add the required top-level sections (When to Use, How It Works, Examples).

This skill is missing the exact required section headings from repository guidelines. Please add those headings explicitly (you can reuse current content under them).

Suggested structure patch
+## When to Use
+
+- User wants to create/update `user.md`
+- User asks for role-based skill recommendations
+- User wants profile + recommendations in one flow
+
 ## When Not to Use This Skill
 
 - Editing the lobster's soul or personality → use openclaw-persona-forge or openclaw-soul-forge
 - General conversation unrelated to user profiling → this Skill isn't needed
 
 ---
 
-## Workflow
+## How It Works
 
 ### Trigger Detection
 ...
 
 ---
 
+## Examples
+
+### Example: Profile Mode
+User: "Get to know me"
+Assistant: (conversational intake → preview `user.md` → confirm → write)
+
+### Example: Recommend Mode
+User: "I'm a frontend engineer, what skills should I use?"
+Assistant: (role match → inheritance merge → installed vs recommended list)
+
+### Example: Combined Flow
+User: "Get to know me, then recommend skills"
+Assistant: (Profile Mode first, then Recommend Mode)
+
+---
+
 ## Error Handling

As per coding guidelines, skills/**/*.md files must include clear sections: When to Use, How It Works, and Examples.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@skills/openclaw-user-profiler/SKILL.md` around lines 46 - 148, Add the
required top-level headings "When to Use", "How It Works", and "Examples" to
SKILL.md and reorganize the existing content under them: move the current "When
Not to Use" list and any brief positive use-cases under "When to Use"; put the
"Workflow", "Profile Mode", "Recommend Mode", and step-by-step procedures under
"How It Works"; and add at least one concrete usage scenario or sample
interaction under "Examples" (you can reuse the Trigger Detection table and Mode
flows as example snippets). Ensure the exact headings "When to Use", "How It
Works", and "Examples" appear as top-level sections so the file meets repository
guidelines.

> Your lobster knows who you are now. Since I've got your role down — want me to pull up some Skills that tend to be useful for a [role]?

**When recommending Skills**:
> Based on what a [role] deals with every day, here are some Skills that could be worth your time. I've flagged the ones you already have installed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Small wording polish for readability.

Consider: “I’ve flagged the ones you have already installed.”

🧰 Tools
🪛 LanguageTool

[style] ~176-~176: To make your writing flow more naturally, try moving the adverb ‘already’ closer to the verb ‘installed’.
Context: ...th your time. I've flagged the ones you already have installed. ### Language Adaptation Detect the u...

(PERF_TENS_ADV_PLACEMENT)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@skills/openclaw-user-profiler/SKILL.md` at line 176, The sentence "Based on
what a [role] deals with every day, here are some Skills that could be worth
your time. I've flagged the ones you already have installed." needs a small
wording tweak for readability: update the second sentence to "I've flagged the
ones you have already installed." Locate the exact sentence in SKILL.md (the
string "I've flagged the ones you already have installed.") and replace it with
the suggested phrasing while preserving punctuation and surrounding text.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="skills/openclaw-user-profiler/SKILL.md">

<violation number="1" location="skills/openclaw-user-profiler/SKILL.md:16">
P2: Skill metadata links to an external GitHub repository, which is flagged by team guidance as a supply-chain risk unless the repo is vetted/owned. Remove or replace with an approved internal link.</violation>

<violation number="2" location="skills/openclaw-user-profiler/SKILL.md:34">
P3: This substitution instruction is currently dead because the document contains no `${SKILL_DIR}` tokens to replace. Remove or rewrite this step to avoid giving the agent a no-op directive.</violation>

<violation number="3" location="skills/openclaw-user-profiler/SKILL.md:82">
P2: SKILL.md links to references/*.md files that are not present in the new skill directory, so core field/template/catalog content will be missing at runtime.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

profile me, recommend skills, skills for my role, what skills should I use,
I'm an engineer, I'm a PM, 了解我, 认识我, 推荐 skill, 用户画像。
license: MIT
homepage: https://github.com/eamanc-lab/openclaw-persona-forge

@cubic-dev-ai cubic-dev-ai Bot Mar 23, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Skill metadata links to an external GitHub repository, which is flagged by team guidance as a supply-chain risk unless the repo is vetted/owned. Remove or replace with an approved internal link.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/openclaw-user-profiler/SKILL.md, line 16:

<comment>Skill metadata links to an external GitHub repository, which is flagged by team guidance as a supply-chain risk unless the repo is vetted/owned. Remove or replace with an approved internal link.</comment>

<file context>
@@ -0,0 +1,234 @@
+  profile me, recommend skills, skills for my role, what skills should I use,
+  I'm an engineer, I'm a PM, 了解我, 认识我, 推荐 skill, 用户画像。
+license: MIT
+homepage: https://github.com/eamanc-lab/openclaw-persona-forge
+metadata:
+  author: eamanc
</file context>
Fix with Cubic

- **Skipping is fine** — if the user says "skip" or "I'd rather not say," move on without pressing
- **Infer before asking** — if something can be deduced from context, confirm it instead of re-asking

**Fields and intake order**: see [references/user-profile-fields.md](references/user-profile-fields.md)

@cubic-dev-ai cubic-dev-ai Bot Mar 23, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: SKILL.md links to references/*.md files that are not present in the new skill directory, so core field/template/catalog content will be missing at runtime.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/openclaw-user-profiler/SKILL.md, line 82:

<comment>SKILL.md links to references/*.md files that are not present in the new skill directory, so core field/template/catalog content will be missing at runtime.</comment>

<file context>
@@ -0,0 +1,234 @@
+- **Skipping is fine** — if the user says "skip" or "I'd rather not say," move on without pressing
+- **Infer before asking** — if something can be deduced from context, confirm it instead of re-asking
+
+**Fields and intake order**: see [references/user-profile-fields.md](references/user-profile-fields.md)
+
+### Step 3: Generate user.md
</file context>
Fix with Cubic


**Agent Execution**:
1. Determine this SKILL.md file's directory path as `SKILL_DIR`
2. Replace all `${SKILL_DIR}` in this document with the actual path

@cubic-dev-ai cubic-dev-ai Bot Mar 23, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This substitution instruction is currently dead because the document contains no ${SKILL_DIR} tokens to replace. Remove or rewrite this step to avoid giving the agent a no-op directive.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At skills/openclaw-user-profiler/SKILL.md, line 34:

<comment>This substitution instruction is currently dead because the document contains no `${SKILL_DIR}` tokens to replace. Remove or rewrite this step to avoid giving the agent a no-op directive.</comment>

<file context>
@@ -0,0 +1,234 @@
+
+**Agent Execution**:
+1. Determine this SKILL.md file's directory path as `SKILL_DIR`
+2. Replace all `${SKILL_DIR}` in this document with the actual path
+
+## Core Philosophy
</file context>
Fix with Cubic

@affaan-m

Copy link
Copy Markdown
Owner

thanks. queued for review.

@affaan-m

Copy link
Copy Markdown
Owner

Closing as not merge-ready for the ECC 2.0 ship window. The submission is add-only, references missing local support files/scripts, and reads as a promotional import rather than an integrated ECC contribution. Please reopen with the full referenced assets and a tighter integration path if you want it reconsidered after ship.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants