| name | create-skill-card |
| description | Create a Scoutica Skill Card from candidate documents. Use when asked to generate a professional profile, build a skill card, or convert a CV/resume into a machine-readable format. Reads documents from a folder and outputs 4 structured files (profile.json, rules.yaml, evidence.json, SKILL.md). |
create-skill-card
Generate a complete Scoutica Skill Card from candidate documents (CVs, portfolios, certifications).
When to Use
- User asks you to "create my card" or "generate my profile"
- User wants to convert a CV/resume into Scoutica format
- User drops documents and asks for a professional profile
- User says "scoutica scan" or references card generation
Quick Method: Use the CLI
scoutica scan <docs-folder> --output <card-folder>
scoutica scan <docs-folder> --with gemini
scoutica scan <docs-folder> --with claude
scoutica scan <docs-folder> --with ollama
scoutica scan <docs-folder> --with ail
Manual Method: Read Docs and Generate Directly
If you are the AI agent being asked to generate the card, follow these steps:
Step 1: Read All Documents
Read every supported file in the user's folder:
- Text:
.md, .txt, .json, .yaml, .csv, .html
- PDFs: extract text via
pdftotext or python3 -c "import PyPDF2; ..."
- DOCX: extract via
textutil (macOS) or python-docx
Step 2: Generate profile.json
{
"schema_version": "0.1.0",
"name": "Alice Developer",
"title": "Professional Title",
"seniority": "senior",
"years_experience": 10,
"availability": "in_2_weeks",
"primary_domains": ["Backend Engineering", "DevOps"],
"skills": ["Python", "Go", "TypeScript", "Django", "FastAPI", "React"],
"tools_and_platforms": ["Kubernetes", "AWS", "Docker", "PostgreSQL"],
"certifications_and_licenses": ["AWS Solutions Architect"],
"specializations": ["Technical Leadership", "System Design"],
"spoken_languages": [
{"language": "English", "proficiency": "native"},
{"language": "German", "proficiency": "fluent"}
]
}
Rules:
- NEVER invent skills not found in the documents
- Use standardized names (e.g., "Kubernetes" not "K8s")
- Map seniority from context: "Lead" โ "lead", "Manager" โ "manager"
Step 3: Generate rules.yaml
schema_version: "0.1.0"
engagement:
allowed_types:
- permanent
- contract
compensation:
minimum_base_eur:
permanent: 80000
contract: 600
remote:
policy: "remote_only"
hybrid_locations: []
filters:
blocked_industries:
- "gambling"
- "weapons"
stack_keywords:
preferred:
- "Python"
- "TypeScript"
soft_reject:
weak_stack_overlap_below: 3
privacy:
zone_1_public: [title, seniority, primary_domains, availability]
zone_2_paid: [, , ]
[, , ]
Rules:
- Compensation nests under
engagement: engagement.compensation.minimum_base_eur.<type>. If salary is not in the documents, omit minimum_base_eur (or the whole compensation block) โ never invent a figure.
- Default
remote.policy to "flexible" if not stated.
- Only add
filters.blocked_industries if explicitly mentioned.
- Rejection rules live under
filters (blocked_industries, soft_reject.weak_stack_overlap_below) โ there is no top-level auto_reject. This shape is validated by scoutica validate and read directly by the scorer.
Step 4: Generate evidence.json
{
"items": [
{
"type": "github_repo",
"title": "Project Name",
"url": "https://github.com/user/repo",
"skills": ["Python", "FastAPI"],
"description": "Brief description"
},
{
"type": "certification",
"title": "AWS Solutions Architect",
"url": "https://verify.link",
"skills": ["AWS"],
"issued": "2024"
}
]
}
Rules:
- Only include URLs found in the documents
- NEVER fabricate links
- Types:
github_repo, website, certification, article, talk, portfolio
Step 5: Generate SKILL.md
Use the template in protocol/templates/SKILL.template.md or generate:
---
name: scoutica
description: <Name> โ AI-readable professional profile
metadata:
author: <Name>
version: 0.1.0
---
# Scoutica
Professional profile for **<Name>** โ <Title>.
[... standard structure ...]
Step 6: Copy Rule Templates
Copy evaluation rules from protocol/templates/rules/:
evaluate-fit.md
negotiate-terms.md
verify-evidence.md
request-interview.md
Step 7: Validate
scoutica validate <card-folder>
Output Structure
<card-folder>/
โโโ profile.json
โโโ rules.yaml
โโโ evidence.json
โโโ SKILL.md
โโโ rules/
โโโ evaluate-fit.md
โโโ negotiate-terms.md
โโโ verify-evidence.md
โโโ request-interview.md
Schema Reference
The candidate card has no standalone JSON Schema file. Validate the generated card with scoutica validate <card-folder>, which runs tools/validate_card.py against the canonical card files.