Job Application Manager
reactive-resume/reactive-resume
Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.
Interprets Culture Index surveys and behavioral profiles, from single-person readings to team composition, burnout risk, hiring profiles and interview analysis.
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install trailofbits/skills interpreting-culture-index --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .claude/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .claude/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-indexType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install trailofbits/skills interpreting-culture-index --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .agents/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .agents/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install trailofbits/skills interpreting-culture-index --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .cursor/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .cursor/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/trailofbits/skills.git --path plugins/culture-index/skills/interpreting-culture-index--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install trailofbits/skills interpreting-culture-index --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .gemini/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .gemini/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install trailofbits/skills interpreting-culture-indexInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .github/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .github/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add trailofbits/skills --skill interpreting-culture-index -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install trailofbits/skills interpreting-culture-index --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/trailofbits/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/culture-index/skills/interpreting-culture-index .opencode/skills/interpreting-culture-index && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "interpreting-culture-index" agent skill from https://github.com/trailofbits/skills/tree/main/plugins/culture-index/skills/interpreting-culture-index into .opencode/skills/interpreting-culture-index/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "interpreting-culture-index", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
interpreting-culture-indexInterprets Culture Index surveys and behavioral profiles, from single-person readings to team composition, burnout risk, hiring profiles and interview analysis.
The skill interprets Culture Index (CI) profiles from extracted JSON or from a PDF through a bundled OpenCV extraction script. Its core principles say that CI measures behavioral traits, not intelligence or skill, so no profile is good or bad. Absolute trait values are never compared between people. What matters is how far each dot sits from the population-mean arrow, where every 2 centiles equals one standard deviation, with labels such as tendency, pronounced and extreme. Logic and Ingenuity are the exception and can be compared directly.
It separates the Survey graph, who someone is, from the Job graph, who they are trying to be, and reads large gaps as behavior modification that can lead to burnout when sustained. Supported tasks include individual profile reading, team composition analysis (gas, brake, glue), profile comparison, hiring profiles, manager coaching, interview transcript analysis for trait prediction, candidate debriefs, onboarding plans and conflict mediation. Reference files describe each archetype and common interpretation mistakes.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 442fc9d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadGrepGlobWriteFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
uvbrewcurlshFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
astral.shFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Culture Index Interpreter loads about 3.6k tokens when it runs, and up to ~36k if it reads all its reference files. Until then it costs about 173 tokens; SKILL.md has 1,592 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
er to install it (`brew install uv` or `curl -LsSf https://astral.sh/uv/install.sh | sh`). Do NOT fall back to vision.allowed-tools: Bash, Read, Grep, Glob, WriteAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from trailofbits/skills at commit 442fc9d, republished under its CC-BY-SA-4.0 licence (© trailofbits). 1,592 words, ~3,571 tokens.
.claude/skills/interpreting-culture-index/SKILL.md (or your agent's skills folder). This skill also uses 57 other files; get the full folder from GitHub.<essential_principles>
Culture Index measures behavioral traits, not intelligence or skills. There is no "good" or "bad" profile.
<principle name="never-compare-absolutes">
**Never compare absolute trait values between people.**
The 0-10 scale is just a ruler. What matters is distance from the red arrow (population mean at 50th percentile). The arrow position varies between surveys based on EU.
Why the arrow moves: Higher EU scores cause the arrow to plot further right; lower EU causes it to plot further left. This does not affect validity—we always measure distance from wherever the arrow lands.
Wrong: "Dan has higher autonomy than Jim because his A is 8 vs 5" Right: "Dan is +3 centiles from his arrow; Jim is +1 from his arrow"
Always ask: Where is the arrow, and how far is the dot from it?
</principle>
<principle name="survey-vs-job">
**Survey = who you ARE. Job = who you're TRYING TO BE.**
"You can't send a duck to Eagle school." Traits are hardwired—you can only modify behaviors temporarily, at the cost of energy.
Large differences between graphs indicate behavior modification, which drains energy and causes burnout if sustained 3-6+ months.
</principle>
<principle name="distance-interpretation">
**Distance from arrow determines trait strength.**
| Distance | Label | Percentile | Interpretation |
|---|---|---|---|
| On arrow | Normative | 50th | Flexible, situational |
| ±1 centile | Tendency | ~67th | Easier to modify |
| ±2 centiles | Pronounced | ~84th | Noticeable difference |
| ±4+ centiles | Extreme | ~98th | Hardwired, compulsive, predictable |
Key insight: Every 2 centiles of distance = 1 standard deviation.
Extreme traits drive extreme results but are harder to modify and less relatable to average people.
</principle>
<principle name="l-and-i-exception">
**L (Logic) and I (Ingenuity) use absolute values.**
Unlike A, B, C, D, you CAN compare L and I scores directly between people:
Only these two traits break the "no absolute comparison" rule.
</principle>
</essential_principles>
<input_formats>
JSON (Use if available)
If JSON data is already extracted, use it directly:
import json
with open("person_name.json") as f:
profile = json.load(f)JSON format:
{
"name": "Person Name",
"archetype": "Architect",
"survey": {
"eu": 21,
"arrow": 2.3,
"a": [5, 2.7],
"b": [0, -2.3],
"c": [1, -1.3],
"d": [3, 0.7],
"logic": [5, null],
"ingenuity": [2, null]
},
"job": { "..." : "same structure as survey" },
"analysis": {
"energy_utilization": 148,
"status": "stress"
}
}Note: Trait values are [absolute, relative_to_arrow] tuples. Use the relative value for interpretation.
Check same directory as PDF for matching .json file, or ask user if they have extracted JSON.
PDF Input (MUST EXTRACT FIRST)
⚠️ NEVER use visual estimation for trait values. Visual estimation has 20-30% error rate.
When given a PDF:
uv run --no-project {baseDir}/scripts/extract_pdf.py --verify /path/to/file.pdf [output.json]If uv is not installed: Stop and instruct user to install it (brew install uv or curl -LsSf https://astral.sh/uv/install.sh | sh). Do NOT fall back to vision.
PDF Vision (Reference Only)
Vision may be used ONLY to verify extracted values look reasonable, NOT to extract trait scores.
</input_formats>
<intake>
Step 0: Do you have JSON or PDF?
.json file with matching name--verify flaguv run --no-project {baseDir}/scripts/extract_pdf.py --verify /path/to/file.pdf [output.json]Step 1: What data do you have?
Step 2: What would you like to do?
Profile Analysis:
Hiring & Candidates: 6. Define hiring profile - Determine ideal CI traits for a role 7. Coach manager on direct report - Adjust management style based on both profiles 8. Predict traits from interview - Analyze interview transcript to estimate CI traits 9. Interview debrief - Assess candidate fit based on predicted traits
Team Development: 10. Plan onboarding - Design first 90 days based on new hire and team profiles 11. Mediate conflict - Understand friction between two people using their profiles
Provide the profile data (JSON or PDF) and select an option, or describe what you need.
</intake>
<routing>
| Response | Workflow |
|---|---|
| "extract", "parse pdf", "convert pdf", "get json from pdf" | workflows/extract-from-pdf.md |
| 1, "individual", "interpret", "understand", "analyze one", "single profile" | workflows/interpret-individual.md |
| 2, "team", "composition", "gaps", "balance", "gas brake glue" | workflows/analyze-team.md |
| 3, "burnout", "stress", "frustration", "survey vs job", "energy", "flight risk" | workflows/detect-burnout.md |
| 4, "compare", "compatibility", "collaboration", "multiple", "two profiles" | workflows/compare-profiles.md |
| 5, "motivate", "engage", "retain", "communicate" | Read references/motivators.md directly |
| 6, "hire", "hiring profile", "role profile", "recruit", "what profile for" | workflows/define-hiring-profile.md |
| 7, "manage", "coach", "1:1", "direct report", "manager" | workflows/coach-manager.md |
| 8, "transcript", "interview", "predict traits", "guess", "estimate", "recording" | workflows/predict-from-interview.md |
| 9, "debrief", "should we hire", "candidate fit", "proceed", "offer" | workflows/interview-debrief.md |
| 10, "onboard", "new hire", "integrate", "starting", "first 90 days" | workflows/plan-onboarding.md |
| 11, "conflict", "friction", "mediate", "not working together", "clash" | workflows/mediate-conflict.md |
| "conversation starters", "how to talk to", "engage with" | Read references/conversation-starters.md directly |
After reading the workflow, follow it exactly.
</routing>
<verification_loop>
After every interpretation, verify:
Report to user:
</verification_loop>
<reference_index>
Domain Knowledge (in references/):
Primary Traits:
primary-traits.md - A (Autonomy), B (Social), C (Pace), D (Conformity)Secondary Traits:
secondary-traits.md - EU (Energy Units), L (Logic), I (Ingenuity)Patterns:
patterns-archetypes.md - Behavioral patterns, trait combinations, archetypesArchetype Deep Profiles (archetype-*.md):
archetype-administrator.md - The Administrator (High A, High B, Low C, Mid D)archetype-coordinator.md - The Coordinator (Low A, High B, Mid C, Low D)archetype-craftsman.md - The Craftsman (Low A, Low B, High C, High D)archetype-daredevil.md - The Daredevil (High A, Low B, Low C, Low D)archetype-debater.md - The Debater (Mid A, Mid-High B, Low C, High D)archetype-facilitator.md - The Facilitator (Low A, Mid B, Mid C, Low D)archetype-influencer.md - The Influencer (Low A, High B, Low C, Low D)archetype-operator.md - The Operator (Low A, Low B, High C, Mid-High D)archetype-persuader.md - The Persuader (High A, High B, Low C, Low D)archetype-philosopher.md - The Philosopher (Low A, Low B, High C, Low D)archetype-rainmaker.md - The Rainmaker (High A, High B, Low C, Low D)archetype-scholar.md - The Scholar (High A, Low B, Low C, High D)archetype-socializer.md - The Socializer (Low A, High B, Low C, Low D)archetype-specialist.md - The Specialist (Low A, Low B, High C, Mid D)archetype-technical-expert.md - The Technical Expert (Low A, Low B, High C, Low D)archetype-traditionalist.md - The Traditionalist (Low A, Low B, High C, High D)archetype-trailblazer.md - The Trailblazer (High A, Mid B, Mid C, Low D)Application:
motivators.md - How to motivate each trait typeteam-composition.md - Gas, brake, glue frameworkanti-patterns.md - Common interpretation mistakesconversation-starters.md - How to engage each pattern and trait typeinterview-trait-signals.md - Signals for predicting traits from interviews</reference_index>
<workflows_index>
Workflows (in workflows/):
| File | Purpose |
|---|---|
extract-from-pdf.md | Extract profile data from Culture Index PDF to JSON format |
interpret-individual.md | Analyze single profile, identify archetype, summarize strengths/challenges |
analyze-team.md | Assess team balance (gas/brake/glue), identify gaps, recommend hires |
detect-burnout.md | Compare Survey vs Job, calculate EU utilization, flag risk signals |
compare-profiles.md | Compare multiple profiles, assess compatibility, collaboration dynamics |
define-hiring-profile.md | Define ideal CI traits for a role, identify acceptable patterns and red flags |
coach-manager.md | Help managers adjust their style for specific direct reports |
predict-from-interview.md | Analyze interview transcripts to predict CI traits before survey |
interview-debrief.md | Assess candidate fit using predicted traits from transcript analysis |
plan-onboarding.md | Design first 90 days based on new hire profile and team composition |
mediate-conflict.md | Understand and address friction between team members using their profiles |
</workflows_index>
<quick_reference>
Trait Colors:
| Trait | Color | Measures |
|---|---|---|
| A | Maroon | Autonomy, initiative, self-confidence |
| B | Yellow | Social ability, need for interaction |
| C | Blue | Pace/Patience, urgency level |
| D | Green | Conformity, attention to detail |
| L | Purple | Logic, emotional processing |
| I | Cyan | Ingenuity, inventiveness |
Energy Utilization Formula:
Utilization = (Job EU / Survey EU) × 100
70-130% = Healthy
>130% = STRESS (burnout risk)
<70% = FRUSTRATION (flight risk)Gas/Brake/Glue:
| Role | Trait | Function |
|---|---|---|
| Gas | High A | Growth, risk-taking, driving results |
| Brake | High D | Quality control, risk aversion, finishing |
| Glue | High B | Relationships, morale, culture |
Score Precision:
| Value | Precision | Example |
|---|---|---|
| Traits (A,B,C,D,L,I) | Integer 0-10 | 0, 1, 2, ... 10 |
| Arrow position | Tenths | 0.4, 2.2, 3.8 |
| Energy Units (EU) | Integer | 11, 31, 45 |
</quick_reference>
<success_criteria>
A well-interpreted Culture Index profile:
</success_criteria>
© trailofbits, CC-BY-SA-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 57 other files (scripts, references, assets) in plugins/culture-index/skills/interpreting-culture-index of trailofbits/skills.
Open the folder on GitHubat commit 442fc9d
Culture Index Interpreter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Culture Index Interpreter this skilltrailofbits/skills | 7.5k | — | ~3.6k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Job Application Managerreactive-resume/reactive-resume | 44k | — | ~13k | Automated safety check: Pass | MIT | |
| Mock Interviewreactive-resume/reactive-resume | 44k | — | ~11k | Automated safety check: Pass | MIT | |
| Offer Negotiationreactive-resume/reactive-resume | 44k | — | ~10k | Automated safety check: Pass | MIT | |
| Get Jobagentenatalie/get-job.skill | 632 | — | ~1.7k | Automated safety check: Pass | CC-BY-NC-ND-4.0 | |
| Boss CLIjackwener/boss-cli | 978 | — | ~1.9k | Automated safety check: Pass | None |
reactive-resume/reactive-resume
Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Runs a mock interview for a specific job description. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.
agentenatalie/get-job.skill
实习.skill / get-job.skill:从岗位调研、简历改写到分轮次面试准备的全流程求职 skill。适合找工作、投实习、校招、秋招、春招、暑期实习、社招、跳槽、转行、跨专业求职、留学生求职,以及产品经理、运营、市场、咨询、AI 产品、AI Coding、数据分析、技术岗等目标岗位准备。
jackwener/boss-cli
Use boss-cli for ALL BOSS 直聘 operations — searching jobs, viewing recommendations, managing applications, chatting with recruiters, and batch greeting.
weeelin98/ResumeDom
Build, assess, review, and tailor evidence-backed US-market technology resumes for computer-science interns and new graduates.
trailofbits/skills
Scans a codebase for vulnerabilities with CodeQL's data flow and taint tracking in run-all or important-only modes, including data extensions for project-specific sources and sinks.
trailofbits/skills
Generates Mermaid diagrams from Trailmark code graphs, including call graphs, class hierarchies, module dependency maps, complexity heatmaps and attack surface data flows.
trailofbits/skills
Compares Trailmark code graphs at two snapshots, such as commits, tags or directories, to surface attack paths, blast radius and taint changes that text diffs miss.
trailofbits/skills
Draws a 12 Houses tarot spread to break ties when a request is vague or casually delegated, then reads the cards to pick the next step.
trailofbits/skills
Detects languages, proposes rulesets for approval, then runs the approved Semgrep scan across a codebase and merges the output into one SARIF file.
trailofbits/skills
Searches and extracts data from Burp Suite project files on the command line: regex searches over responses, audit findings, proxy history and site map data.
Works with
Categories
Interprets Culture Index surveys and behavioral profiles, from single-person readings to team composition, burnout risk, hiring profiles and interview analysis. The skill interprets Culture Index (CI) profiles from extracted JSON or from a PDF through a bundled OpenCV extraction script. Its core principles say that CI measures behavioral traits, not intelligence or skill, so no profile is good or bad.
Culture Index Interpreter fits situations like: reading a Culture Index PDF or JSON profile for one person; comparing profiles across a team or against a hiring profile; assessing burnout risk from gaps between the Survey and Job graphs; preparing onboarding, coaching or conflict mediation from CI data.
Run `npx skills add trailofbits/skills --skill interpreting-culture-index -a claude-code`. Or copy the skill folder (plugins/culture-index/skills/interpreting-culture-index in trailofbits/skills) into .claude/skills/interpreting-culture-index in your project. Claude Code loads it when a task matches its description.
Run `npx skills add trailofbits/skills --skill interpreting-culture-index -a codex`. Or copy the skill folder (plugins/culture-index/skills/interpreting-culture-index in trailofbits/skills) into .agents/skills/interpreting-culture-index in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add trailofbits/skills --skill interpreting-culture-index -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/interpreting-culture-index, .gemini/skills/interpreting-culture-index, .github/skills/interpreting-culture-index and .opencode/skills/interpreting-culture-index in your project.
Going by SKILL.md and its folder, Culture Index Interpreter needs the command-line tools its instructions call (uv, brew, curl and sh). Our summary lists: Python with OpenCV for extracting data from a PDF; A Culture Index PDF or an extracted JSON profile. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Write.
SKILL.md names 1 domain. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Culture Index Interpreter is published under the CC-BY-SA-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 33k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Culture Index Interpreter: Job Application Manager (reactive-resume/reactive-resume, 44k stars), Mock Interview (reactive-resume/reactive-resume, 44k stars), Offer Negotiation (reactive-resume/reactive-resume, 44k stars) and Get Job (agentenatalie/get-job.skill, 632 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
trailofbits (a GitHub organization, an official publisher) maintains it in trailofbits/skills, which has 7,455 GitHub stars. The repository holds 79 skills in this directory. The repository was last updated on October 9, 2026.
Source: trailofbits/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.