Skill: uncrowned-king/salesman-recommender (version 2.0.0)

--- name: salesman-recommender description: Automatically filter influencers matching dynamic criteria from the Jingxuan Alliance Influencer Plaza and save results as Excel file --- # Influencer Recommendation Skill ## Overview This skill automatically accesses the Jingxuan Alliance Influencer Plaza, searches for influencers that match the user-provided dynamic filter criteria, and saves the results as an Excel file to the desktop. **New Features (v1.1.0)**: - Auto-login support: Automatically redirects to login page if not logged in - Supports merchant recruiter role selection - Supports email/password login (requires user credentials) ## Use Cases When users need to: - Find influencers with specific criteria in Jingxuan Alliance Influencer Plaza - Filter influencers based on category, sales data, follower data, influencer attributes, etc. - Export influencer information to Excel file - **Auto-login to Jingxuan Alliance account (first use or not logged in)** ## Workflow 1. Open Chrome browser (using default user profile) and access the Influencer Plaza page 2. **Check login status**: - If logged in: Proceed directly to step 3 - If not logged in: - Redirect to login page `https://buyin.jinritemai.com/mpa/account/institution-role-select` - Select "Merchant Recruiter" role - If email and password provided: Auto-complete login - If not provided: Return prompt message requesting login credentials 3. Apply filter criteria sequentially based on user input 4. Capture data from the last API request (Endpoint: https://buyin.jinritemai.com/api/authorStatData/seekAuthor) 5. Save qualified influencer information as Excel file to desktop ## Filter Criteria Supported filter criteria include: - **Main Category**: e.g., Apparel & Underwear, Beauty & Skincare, etc. - **Sales Data**: e.g., Live stream viewer count range - **Follower Data**: e.g., Follower count range - **Influencer Attributes**: e.g., Influencer level (LV1-LV5) - **Influencer Gender**: Male/Female ## Execution Call `scripts/daren_search.py` to execute the task, passing the user's filter criteria and optional login credentials. ### Parameter Format ```python { 'category': 'Apparel & Underwear', 'live_viewers': [100, 1000], 'followers': [100000, 1000000], 'level': 'LV2', 'gender': 'Female', 'email': '[REDACTED_SECRET]', # Optional: Login email 'password': 'your_password' # Optional: Login password } ``` ### Parameter Description | Parameter | Required | Type | Description | |-----------|----------|------|-------------| | category | No | string | Main category | | live_viewers | No | list | Live stream viewer count range [min, max] | | followers | No | list | Follower count range [min, max] | | level | No | string | Influencer level (LV1-LV5) | | gender | No | string | Influencer gender (Male/Female) | | email | No | string | Login email (required if not logged in) | | password | No | string | Login password (required if not logged in) | ## Login Flow ### Auto-login Trigger Conditions The script will automatically trigger login when detecting: 1. Current URL contains `login`, `sso`, or `institution-role-select` 2. Login form elements exist on the page 3. Unable to access Influencer Plaza (redirected to login page) ### Login Steps 1. **Access role selection page**: `https://buyin.jinritemai.com/mpa/account/institution-role-select` 2. **Select merchant recruiter role**: Click "Merchant Recruiter" option 3. **Enter login credentials**: - If `email` and `password` provided: Auto-fill and submit - If not provided: Output prompt in console, wait for manual login or credentials 4. **Wait for login completion**: Detect page redirect to Influencer Plaza or homepage 5. **Continue filter task** ### Prompt When No Credentials Provided If not logged in and user hasn't provided email/password, the script will output: ``` ⚠ Not logged in, but no login credentials provided Please choose one of the following: 1. Complete login manually in browser, then rerun the script 2. Provide email and password parameters and rerun: { "email": "[REDACTED_SECRET]", "password": "your_password" } Waiting for manual login... (max 180 seconds) ``` ## Notes 1. **Chrome Profile**: The script uses the default Chrome user profile. Session persists after first login 2. **Credential Security**: Recommended to stay logged in after first use to avoid repeated password entry 3. **Role Selection**: Defaults to "Merchant Recruiter" role. Modify script for other roles 4. **API Calls**: Each filter click triggers an API call. Wait for all filters to be applied before fetching final data 5. **Data Limit**: If total qualified influencers less than requested, return all available 6. **Output File**: Saved to user's desktop in Excel format (.xlsx) ## Error Handling | Error Scenario | Handling Method | |----------------|-----------------| | Not logged in and no credentials provided | Output prompt, wait for manual login or terminate | | Login failed | Retry up to 3 times, then terminate with error | | Network timeout | Auto-retry up to 5 times | | Page element not found | Log warning, continue with other selectors | ## Related Files - `scripts/daren_search.py` - Main execution script (includes auto-login logic) - `references/api_details.md` - API details documentation - `references/login_flow.md` - Login flow documentation (new) ## Usage Examples ### Example 1: Already logged in, direct filtering ```python filters = { 'category': 'Apparel & Underwear', 'live_viewers': [100, 1000], 'followers': [100000, 1000000], 'level': 'LV2', 'gender': 'Female' } ``` ### Example 2: Not logged in, provide credentials for auto-login ```python filters = { 'category': 'Beauty & Skincare', 'followers': [500000, 2000000], 'level': 'LV3', 'email': '[REDACTED_SECRET]', 'password': 'secure_password_123' } ``` ### Example 3: Not logged in, no credentials provided ```python filters = { 'category': 'Food & Fresh', 'level': 'LV1' } # Script will prompt user to login manually or provide credentials ```

path: requirements.txt
content: selenium>=4.15.0
pandas>=2.0.0
openpyxl>=3.1.0


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)